common.js 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316
  1. /**
  2. * 设置提交按钮是否生效
  3. * @param obj 提交按钮ID
  4. * @param bool true生效,false无效
  5. */
  6. function setdisabled(obj,bool) {
  7. if (bool) {
  8. jQuery('#'+obj).attr('disabled', 'disabled');
  9. } else {
  10. jQuery('#'+obj).removeAttr('disabled');
  11. }
  12. }
  13. /**
  14. * 去除多余空格函数 trim:去除两边空格 lTrim:去除左空格 rTrim: 去除右空格 用法: var str = " hello "; str =
  15. * str.trim();
  16. */
  17. String.prototype.trim = function() {
  18. return this.replace(/(^[\\s]*)|([\\s]*$)/g, "");
  19. }
  20. String.prototype.lTrim = function() {
  21. return this.replace(/(^[\\s]*)/g, "");
  22. }
  23. String.prototype.rTrim = function() {
  24. return this.replace(/([\\s]*$)/g, "");
  25. }
  26. /**
  27. * SearchPage
  28. * @param formId Form表单Id
  29. * @param target 目标显示ID
  30. * @param page 页数
  31. * @param pagesize 页面条数
  32. */
  33. function getSearchPage(_context_path, formId, targetDiv, page, pagesize) {
  34. $('#page').val(page);
  35. $('#pagesize').val(pagesize);
  36. $(formId).ajaxSubmit({
  37. target : targetDiv,
  38. beforeSubmit : function() {
  39. $(targetDiv).html('<div class="border tdbg"><img src="' + _context_path + '/images/loading.gif">正在查询,请稍后!!!</div>');
  40. },
  41. error : function() {
  42. alert('系统系统错误!');
  43. },
  44. success : function() {
  45. $(targetDiv).fadeIn('slow');
  46. }
  47. });
  48. }
  49. /**
  50. * SearchPage
  51. * @param formId Form表单Id
  52. * @param target 目标显示ID
  53. */
  54. function getSearch(_context_path, formId, targetDiv) {
  55. $(formId).ajaxSubmit({
  56. target : targetDiv,
  57. beforeSubmit : function() {
  58. $(targetDiv).html('<div class="border tdbg"><img src="' + _context_path + '/images/loading.gif">正在查询,请稍后!!!</div>');
  59. },
  60. error : function() {
  61. alert('系统系统错误!');
  62. },
  63. success : function() {
  64. $(targetDiv).fadeIn('slow');
  65. }
  66. });
  67. }
  68. /**
  69. * 获取CheckBox被选中的所有值
  70. *
  71. * @param name checkbox的Name属性的值
  72. */
  73. function getCheckboxValues(name) {
  74. var str = "";
  75. var checkValues = $("input[name='" + name + "']:checked");
  76. if (checkValues.size() < 1) {
  77. return str;
  78. }
  79. checkValues.each(function() {
  80. if (str == "") {
  81. str = $(this).val();
  82. } else {
  83. str += "," + $(this).val();
  84. }
  85. });
  86. return str;
  87. }
  88. /**
  89. * 通用Ajax数据库删除、恢复
  90. *
  91. * @param url
  92. * @param data
  93. * @param callback
  94. */
  95. function jDelete(url, data, message) {
  96. //删除
  97. message = message || "您确定要删除吗?";
  98. var flag = confirm(message);
  99. if (flag) {
  100. jQuery.ajax({
  101. async : false,
  102. type : 'POST',
  103. url : url,
  104. dataType : 'json',
  105. data : data,
  106. error : function() {
  107. alert('系统错误!');
  108. },
  109. success : function(json) {
  110. if (json.status == 'success') {
  111. window.location.reload();
  112. } else {
  113. alert(json.msg);
  114. }
  115. }
  116. });
  117. }
  118. }
  119. /**
  120. * 验证身份证号码
  121. * @param {} num
  122. * @return {Boolean}
  123. */
  124. function checkidcard(idcard) {
  125. var area = {
  126. 11 : "北京", 12 : "天津", 13 : "河北", 14 : "山西", 15 : "内蒙古", 21 : "辽宁", 22 : "吉林",
  127. 23 : "黑龙江", 31 : "上海", 32 : "江苏", 33 : "浙江", 34 : "安徽", 35 : "福建", 36 : "江西",
  128. 37 : "山东", 41 : "河南", 42 : "湖北", 43 : "湖南", 44 : "广东", 45 : "广西", 46 : "海南",
  129. 50 : "重庆", 51 : "四川", 52 : "贵州", 53 : "云南", 54 : "西藏", 61 : "陕西", 62 : "甘肃",
  130. 63 : "青海", 64 : "宁夏", 65 : "新疆", 71 : "台湾", 81 : "香港", 82 : "澳门", 91 : "国外"
  131. }
  132. var idcard, Y, JYM, flag;
  133. var S, M;
  134. var idcard_array = new Array();
  135. idcard_array = idcard.split("");
  136. // 地区检验
  137. if (area[parseInt(idcard.substr(0, 2))] == null)
  138. flag = 4; // 身份证地区非法!
  139. // 身份号码位数及格式检验
  140. switch (idcard.length) {
  141. case 15 :
  142. if ((parseInt(idcard.substr(6, 2)) + 1900) % 4 == 0 || ((parseInt(idcard.substr(6, 2)) + 1900) % 100 == 0 && (parseInt(idcard.substr(6, 2)) + 1900) % 4 == 0)) {
  143. ereg = /^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$/;// 测试出生日期的合法性
  144. } else {
  145. ereg = /^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$/;// 测试出生日期的合法性
  146. }
  147. if (ereg.test(idcard))
  148. flag = 0; // 验证通过!
  149. else
  150. flag = 2; // 身份证号码位数不对!
  151. break;
  152. case 18 :
  153. // 18位身份号码检测
  154. // 出生日期的合法性检查
  155. // 闰年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))
  156. // 平年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))
  157. if (parseInt(idcard.substr(6, 4)) % 4 == 0 || (parseInt(idcard.substr(6, 4)) % 100 == 0 && parseInt(idcard.substr(6, 4)) % 4 == 0)) {
  158. ereg = /^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$/;// 闰年出生日期的合法性正则表达式
  159. } else {
  160. ereg = /^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$/;// 平年出生日期的合法性正则表达式
  161. }
  162. if (ereg.test(idcard)) {// 测试出生日期的合法性
  163. // 计算校验位
  164. S = (parseInt(idcard_array[0]) + parseInt(idcard_array[10])) * 7
  165. + (parseInt(idcard_array[1]) + parseInt(idcard_array[11])) * 9
  166. + (parseInt(idcard_array[2]) + parseInt(idcard_array[12])) * 10
  167. + (parseInt(idcard_array[3]) + parseInt(idcard_array[13])) * 5
  168. + (parseInt(idcard_array[4]) + parseInt(idcard_array[14])) * 8
  169. + (parseInt(idcard_array[5]) + parseInt(idcard_array[15])) * 4
  170. + (parseInt(idcard_array[6]) + parseInt(idcard_array[16])) * 2
  171. + parseInt(idcard_array[7]) * 1
  172. + parseInt(idcard_array[8]) * 6
  173. + parseInt(idcard_array[9]) * 3;
  174. Y = S % 11;
  175. M = "F";
  176. JYM = "10X98765432";
  177. M = JYM.substr(Y, 1);//判断校验位
  178. if (M == idcard_array[17]) // 检测ID的校验位
  179. flag = 0; // 验证通过!
  180. else
  181. flag = 3; // 身份证号码校验错误!
  182. } else
  183. flag = 2; // 身份证号码出生日期超出范围或含有非法字符!
  184. break;
  185. default :
  186. flag = 1; // 身份证号码位数不对!
  187. break;
  188. }
  189. if (flag == 0) {
  190. return true;
  191. } else {
  192. return false;
  193. }
  194. }
  195. /**
  196. * 通用Ajax条目自动搜索Autocomplete
  197. *
  198. * @param id
  199. * @param url
  200. */
  201. function jQueryEntrys(id,url) {
  202. jQuery("#"+id).autocomplete(url,{
  203. minChars: 0, // 在触发autoComplete前用户至少需要输入的字符数.Default: 1,如果设为0,在输入框内双击或者删除输入框内内容时显示列表
  204. multiple: true, //允许查询多个
  205. matchContains: false, //true是查找包含字符 false是不查询包含字符
  206. parse: function(data) {
  207. var rows = [];
  208. var code = jQuery(data).find("root > entry").text();
  209. var str = code.split(",");
  210. //console.log("str:"+str); //相当于system.out.println();打印
  211. for(i=0;i<str.length;i++){
  212. rows.push({
  213. data:str[i],
  214. value:str[i],
  215. result:str[i]
  216. });
  217. }
  218. return rows;
  219. },
  220. formatItem: function(row, i, max) {
  221. return row;
  222. }
  223. });
  224. }
  225. /**
  226. * 通用Ajax图书名称自动搜索Autocomplete
  227. *
  228. * @param id
  229. * @param url
  230. */
  231. function jQueryBookNames(id,url) {
  232. jQuery("#"+id).autocomplete(url,{
  233. minChars: 1, // 在触发autoComplete前用户至少需要输入的字符数.Default: 1,如果设为0,在输入框内双击或者删除输入框内内容时显示列表
  234. multiple: false, //允许查询多个
  235. matchContains: true, //true是查找包含字符 false是不查询包含字符
  236. max:20,
  237. parse: function(data) {
  238. var rows = [];
  239. var code = jQuery(data).find("root > entry").text();
  240. var str = code.split(",");
  241. //console.log("str:"+str); //相当于system.out.println();打印
  242. for(i=0;i<str.length;i++){
  243. rows.push({
  244. data:str[i],
  245. value:str[i],
  246. result:str[i]
  247. });
  248. }
  249. return rows;
  250. },
  251. formatItem: function(row, i, max) {
  252. return row;
  253. }
  254. });
  255. }
  256. //************* highslide 配置 ***************
  257. hs.outlineType = 'rounded-blue';
  258. hs.wrapperClassName = 'draggable-header';
  259. hs.creditsText = '';
  260. hs.width = 800;
  261. hs.height = 600;
  262. hs.dimmingOpacity = 0.2;
  263. hs.objectLoadTime = 'after';
  264. hs.preserveContent = false;
  265. hs.headingText = "";
  266. hs.align = "center";
  267. //hs.showCredits = true;
  268. hs.Expander.prototype.onBeforeClose = function() {
  269. //alert("common.onBeforeClose");
  270. document.body.focus();
  271. }
  272. function iframeBox(e, config) {
  273. config.objectType='iframe';
  274. return hs.htmlExpand(e, config);
  275. }
  276. function inlineBox(e, config){
  277. return hs.htmlExpand(e, config);
  278. }
  279. function closeBox() {
  280. return hs.close();
  281. }
  282. // ************* highslide 配置 ***************
  283. /**
  284. * 通用控制日期加减方法
  285. *
  286. * @param date
  287. * @param type
  288. * @param callback
  289. */
  290. function checkDate(date,type){
  291. var bdate = date.split("-");
  292. var cd = bdate[1]+"/"+bdate[2]+"/"+bdate[0];
  293. var nd = new Date(cd);
  294. nd = nd.valueOf();
  295. if(type == "left"){
  296. nd = nd - 24 * 60 * 60 * 1000;
  297. }else{
  298. nd = nd + 24 * 60 * 60 * 1000;
  299. }
  300. nd = new Date(nd);
  301. var y = nd.getFullYear();
  302. var m = nd.getMonth() + 1;
  303. var d = nd.getDate();
  304. var newdate = y+"-"+m+"-"+d;
  305. return newdate;
  306. }