JScripts.js 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730
  1. //String.prototype.Trim = function() {
  2. // return this.replace(/(^\s*)|(\s*$)/g, "");
  3. //}
  4. function validateString(str) {
  5. //项目名和任务名不可以含特殊符号,如 \/:*?"<>|
  6. var pat = new RegExp("[^a-zA-Z0-9\_\u4e00-\u9fa5]", "i");
  7. return pat.test(str) == true;
  8. }
  9. //例如:2003-12-05
  10. function strShortDateTime(str) {
  11. var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
  12. if (r == null) return false;
  13. var d = new Date(r[1], r[3] - 1, r[4]);
  14. return (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[3] && d.getDate() == r[4]);
  15. }
  16. //长时间,形如 (2003-12-05 13:04:06)
  17. function strLongDateTime(str) {
  18. var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
  19. var r = str.match(reg);
  20. if (r == null) return false;
  21. var d = new Date(r[1], r[3] - 1, r[4], r[5], r[6], r[7]);
  22. return (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[3] && d.getDate() == r[4] && d.getHours() == r[5] && d.getMinutes() == r[6] && d.getSeconds() == r[7]);
  23. }
  24. //短时间,形如 (13:04:06)
  25. function isLongTime(str) {
  26. var a = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);
  27. if (a == null) { alert('输入的参数不是时间格式'); return false; }
  28. if (a[1] > 24 || a[3] > 60 || a[4] > 60) {
  29. alert("时间格式不对");
  30. return false
  31. }
  32. return true;
  33. }
  34. //验证是否为数字
  35. function isNumber(oNum) {
  36. if (!oNum) return false;
  37. var strP = /^\d+(\.\d+)?$/;
  38. if (!strP.test(oNum)) return false;
  39. try {
  40. if (parseFloat(oNum) != oNum) return false;
  41. }
  42. catch (ex) {
  43. return false;
  44. }
  45. return true;
  46. }
  47. //验证是否为金额
  48. function isDigit(s) { var patrn = /^-?\d+\.{0,}\d{0,}$/; if (!patrn.exec(s)) { return false } else { return true } }
  49. //验证是否为空
  50. function isNull(str) {
  51. var result = false;
  52. str = lrTrim(str);
  53. if (str.length == 0) {
  54. result = true;
  55. }
  56. return result;
  57. }
  58. //通过id获取当前对象
  59. function g(objId) {
  60. return document.getElementById(objId);
  61. }
  62. //去除左右边空格
  63. function lTrim(str) {
  64. if (str.charAt(0) == " ") {
  65. //如果字串左边第一个字符为空格
  66. str = str.slice(1); //将空格从字串中去掉
  67. //这一句也可改成 str = str.substring(1, str.length);
  68. str = lTrim(str); //递归调用
  69. }
  70. return str;
  71. }
  72. //rTrim()去掉字串右边的空格
  73. function rTrim(str) {
  74. var iLength;
  75. iLength = str.length;
  76. if (str.charAt(iLength - 1) == " ") {
  77. //如果字串右边第一个字符为空格
  78. str = str.slice(0, iLength - 1); //将空格从字串中去掉
  79. //这一句也可改成 str = str.substring(0, iLength - 1);
  80. str = rTrim(str); //递归调用
  81. }
  82. return str;
  83. }
  84. //trim() 去掉字串两边的空格
  85. function lrTrim(str) {
  86. return lTrim(rTrim(str));
  87. }
  88. // 关闭当前页面
  89. function f_Close() {
  90. window.close();
  91. }
  92. function f_return(value) {
  93. window.history.back();
  94. }
  95. // 页面最大化
  96. function f_WindowMax() {
  97. self.moveTo(0, 0);
  98. self.resizeTo(screen.availWidth, screen.availHeight);
  99. }
  100. //弹出窗体居中
  101. function f_Center(ll_Width, ll_Height) {
  102. var ll_Left;
  103. var ll_Top;
  104. var ls_Str;
  105. ll_Left = (screen.width - ll_Width) / 2
  106. ll_Top = (screen.height - ll_Height) / 2
  107. if (ll_Left < 0) {
  108. ll_Left = 0;
  109. }
  110. if (ll_Top < 0) {
  111. ll_Top = 0;
  112. }
  113. ls_Str = "left = " + ll_Left + ",top = " + ll_Top + ",width = " + ll_Width + ",height = " + ll_Height;
  114. return ls_Str;
  115. }
  116. function IsckA(obj, objname, len) {
  117. var str = document.getElementById(obj).value;
  118. if (str == "") {
  119. alert(objname + "不能为空");
  120. document.getElementById(obj).focus();
  121. return false;
  122. }
  123. if (len > 0) {
  124. if (str.length > len) {
  125. alert(objname + "长度不能超过" + len.toString() + "个字符");
  126. document.getElementById(obj).focus();
  127. return false;
  128. }
  129. }
  130. return true;
  131. }
  132. ///控件数据检查
  133. function DataCheck(lo_obj, ls_Name, ls_Nothing, ls_X) {
  134. var i;
  135. var li_row;
  136. var larr_obj;
  137. var larr_Name;
  138. ll_return = 0;
  139. larr_obj = lo_obj.split("@@@@");
  140. larr_Name = ls_Name.split("@@@@");
  141. li_row = larr_obj.length;
  142. for (i = 0; i < li_row; i++) {
  143. ls_value = document.getElementById(larr_obj[i]).value;
  144. ls_value = lrTrim(ls_value);
  145. if (ls_value.length == 0) {
  146. ll_return = larr_Name[i] + ls_Nothing;
  147. document.getElementById(larr_obj[i]).focus();
  148. }
  149. }
  150. return ll_return;
  151. }
  152. function f_onload() {
  153. self.resizeTo(550, 260)
  154. }
  155. ///控制回车聚焦button
  156. function f_EnterToTab() {
  157. // if ( window.event.keyCode == 13 ){
  158. // if (window.event.srcElement.tagName.toLowerCase() == "button")
  159. // window.event.keyCode = 20;
  160. // else
  161. // window.event.keyCode = 9;
  162. // }
  163. //nothing to do
  164. }
  165. // // --------------------限制鼠标右键------------
  166. // if (window.Event)
  167. // document.captureEvents(Event.MOUSEUP);
  168. //
  169. // function nocontextmenu()
  170. // {
  171. // event.cancelBubble = true
  172. // event.returnValue = false;
  173. //
  174. // return false;
  175. // }
  176. //
  177. // function norightclick(e)
  178. // {
  179. // if (window.Event)
  180. // {
  181. // if (e.which == 2 || e.which == 3)
  182. // return false;
  183. // }
  184. // else
  185. // if (event.button == 2 || event.button == 3)
  186. // {
  187. // event.cancelBubble = true
  188. // event.returnValue = false;
  189. // return false;
  190. // }
  191. //
  192. // }
  193. //
  194. // document.oncontextmenu = nocontextmenu; // for IE5+
  195. // document.onmousedown = norightclick; // for all others
  196. //===================处理表格颜色显示=============================Begin
  197. function ShowTables(obj) {
  198. anole(obj, 1, '#E6EDF7', '#E7F0FF', '#8795F6', '#8CAAE7');
  199. }
  200. function anole(
  201. str_tableid, // table id
  202. num_header_offset, // 表头行数
  203. str_odd_color, // 奇数行的颜色
  204. str_even_color, // 偶数行的颜色
  205. str_mover_color, // 鼠标经过行的颜色
  206. str_onclick_color // 选中行的颜色
  207. ) {
  208. // 表格ID参数验证
  209. if (!str_tableid) return alert(str_tableid + "表格不存在");
  210. var obj_tables = (document.all ? document.all[str_tableid] : document.getElementById(str_tableid));
  211. if (!obj_tables) return alert("ID为(" + str_tableid + ")不存在!");
  212. // 设置个参数的缺省值
  213. var col_config = [];
  214. col_config.header_offset = (num_header_offset ? num_header_offset : 0);
  215. col_config.odd_color = (str_odd_color ? str_odd_color : '#ffffff');
  216. col_config.even_color = (str_even_color ? str_even_color : '#dbeaf5');
  217. col_config.mover_color = (str_mover_color ? str_mover_color : '#6699cc');
  218. col_config.onclick_color = (str_onclick_color ? str_onclick_color : '#4C7DAB');
  219. // 初始化表格(可能多个表格用同一个ID)
  220. if (obj_tables.length)
  221. for (var i = 0; i < obj_tables.length; i++)
  222. tt_init_table(obj_tables[i], col_config);
  223. else
  224. tt_init_table(obj_tables, col_config);
  225. }
  226. function tt_init_table(obj_table, col_config) {
  227. var col_lconfig = [],
  228. col_trs = obj_table.rows;
  229. if (!col_trs) return;
  230. for (var i = col_config.header_offset; i < col_trs.length; i++) { // i 从 表头以下开始
  231. col_trs[i].config = col_config;
  232. col_trs[i].lconfig = col_lconfig;
  233. col_trs[i].set_color = tt_set_color;
  234. col_trs[i].onmouseover = tt_mover;
  235. col_trs[i].onmouseout = tt_mout;
  236. col_trs[i].onmousedown = tt_onclick;
  237. col_trs[i].order = (i - col_config.header_offset) % 2;
  238. col_trs[i].onmouseout();
  239. }
  240. }
  241. function tt_set_color(str_color) {
  242. this.style.backgroundColor = str_color;
  243. }
  244. // 事件操作
  245. function tt_mover() {
  246. if (this.lconfig.clicked != this)
  247. this.set_color(this.config.mover_color);
  248. }
  249. function tt_mout() {
  250. if (this.lconfig.clicked != this)
  251. this.set_color(this.order ? this.config.odd_color : this.config.even_color);
  252. }
  253. function tt_onclick() {
  254. if (this.lconfig.clicked == this) {
  255. this.lconfig.clicked = null;
  256. this.onmouseover();
  257. }
  258. else {
  259. var last_clicked = this.lconfig.clicked;
  260. this.lconfig.clicked = this;
  261. if (last_clicked) last_clicked.onmouseout();
  262. this.set_color(this.config.onclick_color);
  263. }
  264. }
  265. //===================处理表格颜色显示=============================End
  266. function copyTableToExcel2(htmltable) {
  267. window.clipboardData.setData("Text", htmltable.outerHTML);
  268. try {
  269. var ExApp = new ActiveXObject("Excel.Application")
  270. var ExWBk = ExApp.workbooks.add()
  271. var ExWSh = ExWBk.worksheets(1)
  272. ExApp.DisplayAlerts = false
  273. ExApp.visible = true
  274. ExWBk.worksheets(1).Paste;
  275. }
  276. catch (e) {
  277. alert("您的电脑没有安装Microsoft Excel软件!")
  278. return false
  279. }
  280. }
  281. function copyTableToExcel(htmltable) {
  282. //拷贝
  283. var oRangeRef = document.body.createTextRange();
  284. oRangeRef.moveToElementText(htmltable);
  285. oRangeRef.execCommand("Copy");
  286. //粘贴
  287. try {
  288. var appExcel = new ActiveXObject("Excel.Application");
  289. appExcel.Visible = true;
  290. appExcel.Workbooks.Add().Worksheets.Item(1).Paste();
  291. //appExcel = null;
  292. } catch (e) {
  293. alert("使用此功能必须在浏览器中设置:Internet选项->安全->将本站加入“受信任的站点”。");
  294. }
  295. }
  296. function exportToExcel(htmltable) {
  297. var oExcel = new ActiveXObject("Excel.Application");
  298. var oBook = oExcel.Workbooks.Add;
  299. var oSheet = oBook.Worksheets(1);
  300. oExcel.Visible = true;
  301. for (var y = 0; y < htmltable.rows.length; y++) {
  302. for (var x = 0; x < htmltable.rows(y).cells.length; x++) {
  303. oSheet.Cells(y + 1, x + 1) = htmltable.rows(y).cells(x).innerText;
  304. }
  305. }
  306. oSheet.Rows(1).Font.Size = 12;
  307. oSheet.Rows(1).Font.Bold = true;
  308. oSheet.Rows(1).HorizontalAlignment = 3;
  309. oSheet.Range(oSheet.Cells(1, 1), oSheet.Cells(htmltable.rows.length, htmltable.rows(0).cells.length)).Borders(3).Weight = 2; //设置左边距
  310. oSheet.Range(oSheet.Cells(1, 1), oSheet.Cells(htmltable.rows.length, htmltable.rows(0).cells.length)).Borders(4).Weight = 2; //设置右边距
  311. oSheet.Range(oSheet.Cells(1, 1), oSheet.Cells(htmltable.rows.length, htmltable.rows(0).cells.length)).Borders(1).Weight = 2; //设置顶边距
  312. oSheet.Range(oSheet.Cells(1, 1), oSheet.Cells(htmltable.rows.length, htmltable.rows(0).cells.length)).Borders(2).Weight = 2; //设置底边距
  313. oSheet.Columns.AutoFit;
  314. oExcel.UserControl = true;
  315. oExcel = null;
  316. oBook = null;
  317. oSheet = null;
  318. }
  319. var popWin = null;
  320. var winCount = 0;
  321. var winName = "popWin";
  322. function SetupPopWin(winURL, winWidth, winHeight, moveX, moveY, winFeatures) {
  323. CloseSetupWin();
  324. if (SetupPopWin.arguments.length == 6)
  325. winFeatures = "," + winFeatures;
  326. else
  327. winFeatures = "";
  328. x = (screen.width - winWidth) / 2;
  329. if (moveX != "")
  330. x = moveX;
  331. y = (screen.height - winHeight) / 2;
  332. if (moveX != "")
  333. y = moveY;
  334. popWin = window.open(winURL, "", "top=" + y + ",left=" + x + ",width=" + winWidth + ",height=" + winHeight + winFeatures + ",resizable=no,scrollbars=yes");
  335. }
  336. function CloseSetupWin() {
  337. if (navigator.appName != "Microsoft Internet Explorer" || parseInt(navigator.appVersion) >= 4) {
  338. if (popWin != null)
  339. if (!popWin.closed)
  340. popWin.close();
  341. }
  342. }
  343. function SetupModalWin(winURL, winWidth, winHeight, moveX, moveY, winFeatures) {
  344. x = (screen.width - winWidth) / 2;
  345. if (moveX != "")
  346. x = moveX;
  347. y = (screen.height - winHeight) / 2;
  348. if (moveX != "")
  349. y = moveY;
  350. var ret = window.showModalDialog(winURL, "", "top=" + y + ",left=" + x + ",width=" + winWidth + ",height=" + winHeight + winFeatures + ",resizable=no,scrollbars=yes");
  351. return ret;
  352. }
  353. /**
  354. *功能说明:判断新的用户名是否合法
  355. *description:新的用户名为:长度3-18个字母、下划线、数字组成,
  356. * 不能以下划线“_”或“__”开头或结尾的字符串。
  357. *param:inputname 输入的用户名
  358. *return true 或false
  359. */
  360. function checkname(inputname) {
  361. var instr = trim(inputname);
  362. if (instr == "")
  363. return false;
  364. var ilength = instr.length;
  365. //if((ilength>10)||(ilength<3)) return false;
  366. for (i = 0; i < ilength; i++) {
  367. var mychar = instr.charAt(i);
  368. if (i == 0) {
  369. if (!((mychar >= 'a') && (mychar <= 'z')) && !((mychar >= 'A') && (mychar <= 'Z'))) {
  370. return false;
  371. }
  372. }
  373. else if (i == ilength - 1) {
  374. if (mychar == '_') {
  375. return false;
  376. }
  377. }
  378. else {
  379. if (!((('a' <= mychar) && (mychar <= 'z')) || ((mychar >= 'A') && (mychar <= 'Z')) || (('0' <= mychar) && (mychar <= '9')) || (mychar == '_') || (mychar == ".") || (mychar == "-")) || (instr.search("__") != -1)) {
  380. return false;
  381. }
  382. }
  383. }
  384. return true;
  385. }
  386. function checkpassword(num) {
  387. return (/^[A-Za-z0-9]+$/.test(num));
  388. }
  389. /**
  390. *功能说明:检查是否为数字
  391. *description:只能由 数字组成,
  392. *return true 或false
  393. */
  394. //整数
  395. function checkint(num) {
  396. return (/^(-|\+)?\d+$/.test(num));
  397. }
  398. //大于0的整数
  399. function checkintz(num) {
  400. return (/^\d+$/.test(num));
  401. }
  402. //负整数的验证
  403. function checkintf(num) {
  404. return (/^-\d+$/.test(num));
  405. }
  406. function checknumber(num) {
  407. var numstr = num;
  408. var i = 0;
  409. k = 0
  410. var numlength = numstr.length;
  411. for (i = 0; i < numlength; i++) {
  412. var temp = numstr.charAt(i);
  413. if (!(('0' <= temp) && (temp <= '9') || (temp == '.'))) {
  414. return false;
  415. }
  416. if (temp == '.') {
  417. k = k + 1;
  418. }
  419. if (k > 1) {
  420. return false;
  421. }
  422. }
  423. return true;
  424. }
  425. /**
  426. *功能说明:去掉空格
  427. *trim:去掉左边的和右边的
  428. *leftTrim:去掉左边的
  429. *rightTrim:去掉右边的
  430. *allTrim:去掉所有的
  431. */
  432. function trim(str) {
  433. var notValid = /(^\s)|(\s$)/;
  434. while (notValid.test(str)) {
  435. str = str.replace(notValid, "");
  436. }
  437. return str;
  438. }
  439. function leftTrim(str) {
  440. var notValid = /^\s/;
  441. while (notValid.test(str)) {
  442. str = str.replace(notValid, "");
  443. }
  444. return str;
  445. }
  446. function rightTrim(str) {
  447. var notValid = /\s$/;
  448. while (notValid.test(str)) {
  449. str = str.replace(notValid, "");
  450. }
  451. return str;
  452. }
  453. function allTrim(str) {
  454. var notValid = /\s/;
  455. while (notValid.test(str)) {
  456. str = str.replace(notValid, "");
  457. }
  458. return str;
  459. }
  460. //email的判断。
  461. function ismail(mail) {
  462. return (new RegExp(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test(mail));
  463. }
  464. //身份证的验证
  465. function isIdCardNo(num) {
  466. if (isNaN(num)) { alert("输入的不是数字!"); return false; }
  467. var len = num.length, re;
  468. if (len == 15)
  469. re = new RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{3})$/);
  470. else if (len == 18)
  471. re = new RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\d)$/);
  472. else { alert("输入的数字位数不对"); return false; }
  473. var a = num.match(re);
  474. if (a != null) {
  475. if (len == 15) {
  476. var D = new Date("19" + a[3] + "/" + a[4] + "/" + a[5]);
  477. var B = D.getYear() == a[3] && (D.getMonth() + 1) == a[4] && D.getDate() == a[5];
  478. }
  479. else {
  480. var D = new Date(a[3] + "/" + a[4] + "/" + a[5]);
  481. var B = D.getFullYear() == a[3] && (D.getMonth() + 1) == a[4] && D.getDate() == a[5];
  482. }
  483. if (!B) { alert("输入的身份证号 " + a[0] + " 里出生日期不对"); return false; }
  484. }
  485. return true;
  486. }
  487. //将阿拉伯数字翻译成中文的大写数字
  488. function NumToChinese(num) {
  489. if (!/^\d*(\.\d*)?$/.test(num)) { alert("错误的数字!"); return ""; }
  490. var AA = new Array("零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖");
  491. var BB = new Array("", "拾", "佰", "仟", "萬", "億", "元", "", "角", "分");
  492. var a = ("" + num).replace(/(^0*)/g, "").split("."), k = 0, re = "";
  493. for (var i = a[0].length - 1; i >= 0; i--) {
  494. switch (k) {
  495. case 0: re = BB[7] + re; break;
  496. case 4: if (!new RegExp("0{4}\\d{" + (a[0].length - i - 1) + "}$").test(a[0]))
  497. re = BB[4] + re; break;
  498. case 8: re = BB[5] + re; BB[7] = BB[5]; k = 0; break;
  499. }
  500. if (k % 4 == 2 && a[0].charAt(i + 2) != 0 && a[0].charAt(i + 1) == 0) re = AA[0] + re;
  501. if (a[0].charAt(i) != 0) re = AA[a[0].charAt(i)] + BB[k % 4] + re; k++;
  502. }
  503. re += BB[6];
  504. if (a.length > 1) //加上小数部分(如果有小数部分)
  505. {
  506. for (var i = 0; i < a[1].length; i++) {
  507. if (i == 0) {
  508. re = re + AA[a[1].charAt(i)] + BB[8];
  509. }
  510. else if (i == 1) {
  511. re = re + AA[a[1].charAt(i)] + BB[9];
  512. }
  513. }
  514. }
  515. return re;
  516. }
  517. //电话号码的验证
  518. function PhoneCheck(s) {
  519. var str = s;
  520. var reg = /(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/
  521. return reg.test(str);
  522. }
  523. //跳转页面url为要跳转向哪个页面
  524. function skip(url) {
  525. if (document.form1.topage.value == "") {
  526. alert("请输入你想跳转到第几页");
  527. document.form1.topage.focus();
  528. }
  529. else {
  530. window.location = url + "?Page=" + document.form1.topage.value;
  531. }
  532. }
  533. //限制文本框中只能输入数字否则提示出来 调用为:整数:onKeyPress="regInput(/^[0-9]*$/)" 小数:onKeyPress="regInput(/^[0-9]*\.{0,1}[0-9]{0,2}$/)";
  534. function regInput(reg) {
  535. var srcElem = event.srcElement
  536. var oSel = document.selection.createRange()
  537. var srcRange = srcElem.createTextRange()
  538. oSel.setEndPoint("StartToStart", srcRange)
  539. var num = oSel.text + String.fromCharCode(event.keyCode) + srcRange.text.substr(oSel.text.length)
  540. event.returnValue = reg.test(num)
  541. }
  542. function thisprint() {
  543. var OLECMDID = 6;
  544. var PROMPT = 6; // 2 DONTPROMPTUSER
  545. var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
  546. document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
  547. WebBrowser1.ExecWB(OLECMDID, PROMPT);
  548. WebBrowser1.outerHTML = "";
  549. }
  550. //--return date
  551. function toDay() {
  552. d = new Date(); // 创建 Date 对象。
  553. s = d.getYear(); // 获取年份。
  554. c = d.getMonth() + 1; // 获取月份。
  555. if (c < 10) {
  556. s += "-0" + c;
  557. }
  558. else {
  559. s += "-" + c;
  560. }
  561. e = d.getDate(); // 获取日。
  562. if (e < 10) {
  563. s += "-0" + e;
  564. }
  565. else {
  566. s += "-" + e;
  567. }
  568. return (s); // 返回日期。
  569. }
  570. //短时间,形如 (13:04:06)
  571. function isTime(str) {
  572. var a = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);
  573. if (a == null) { alert('输入的参数不是时间格式'); return false; }
  574. if (a[1] > 24 || a[3] > 60 || a[4] > 60) {
  575. alert("时间格式不对");
  576. return false;
  577. }
  578. return true;
  579. }
  580. //验证短日期,形如 (2003-12-05)
  581. function isDate(str) {
  582. var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
  583. if (r == null) return false;
  584. var d = new Date(r[1], r[3] - 1, r[4]);
  585. return (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[3] && d.getDate() == r[4]);
  586. }
  587. //长时间,形如 (2003-12-05 13:04:06)
  588. function isDateTime(str) {
  589. var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
  590. var r = str.match(reg);
  591. if (r == null) return false;
  592. var d = new Date(r[1], r[3] - 1, r[4], r[5], r[6], r[7]);
  593. return (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[3] && d.getDate() == r[4] && d.getHours() == r[5] && d.getMinutes() == r[6] && d.getSeconds() == r[7]);
  594. }
  595. function getLength(s) {
  596. var k = 0;
  597. for (var i = 0; i < s.length; i++) {
  598. if (s.charCodeAt(i) > 255) k += 2;
  599. else k += 1;
  600. }
  601. return k;
  602. }
  603. //返回两个时间的天数:要求比较的时间的格式为:YYYY-MM-DD
  604. function better_time(strDateStart, strDateEnd) {
  605. strDateStart = strDateStart.replace("/", "-").replace("/", "-");
  606. strDateEnd = strDateEnd.replace("/", "-").replace("/", "-");
  607. var strSeparator = "-"; //日期分隔符
  608. var strDateArrayStart;
  609. var strDateArrayEnd;
  610. var intDay;
  611. if (strDateStart == "" || strDateEnd == "") {
  612. //alert("ddddddd");
  613. }
  614. strDateArrayStart = strDateStart.split(strSeparator);
  615. strDateArrayEnd = strDateEnd.split(strSeparator);
  616. var strDateS = new Date(strDateArrayStart[0] + "/" + strDateArrayStart[1] + "/" + strDateArrayStart[2]);
  617. var strDateE = new Date(strDateArrayEnd[0] + "/" + strDateArrayEnd[1] + "/" + strDateArrayEnd[2]);
  618. intDay = (strDateS - strDateE) / (1000 * 3600 * 24);
  619. return intDay;
  620. }
  621. function ShowProductSelector(ClientID) {
  622. showx = event.screenX - event.offsetX - 104;
  623. showy = event.screenY - event.offsetY + 18;
  624. var retval;
  625. retval = window.showModalDialog("../apply/dlgQueryProduct.aspx", "ProductSelect", "dialogWidth:639px; dialogHeight:395px; dialogLeft:" + showx + "px; dialogTop:" + showy + "px; status:no; directories:yes; scrollbars:no; Resizable=no; help: no;");
  626. if (retval != null) {
  627. document.getElementById(ClientID).value = retval;
  628. }
  629. }
  630. function ShowLockSelector(ClientID) {
  631. showx = event.screenX - event.offsetX - 104;
  632. showy = event.screenY - event.offsetY + 18;
  633. var retval;
  634. retval = window.showModalDialog("../apply/QueryLock.aspx", "LockSelect", "dialogWidth:639px; dialogHeight:395px; dialogLeft:" + showx + "px; dialogTop:" + showy + "px; status:no; directories:yes; scrollbars:no; Resizable=no; help: no;");
  635. if (retval != null) {
  636. document.getElementById(ClientID).value = retval;
  637. }
  638. }
  639. function ShowSemiFinishProductSelector(ClientID) {
  640. showx = event.screenX - event.offsetX - 104;
  641. showy = event.screenY - event.offsetY + 18;
  642. var retval;
  643. retval = window.showModalDialog("../apply/dlgQuerySemiFinishProduct.aspx", "SemiFinishProductSelect", "dialogWidth:639px; dialogHeight:395px; dialogLeft:" + showx + "px; dialogTop:" + showy + "px; status:no; directories:yes; scrollbars:no; Resizable=no; help: no;");
  644. if (retval != null) {
  645. document.getElementById(ClientID).value = retval;
  646. }
  647. }
  648. function ShowCustomerSelector(ClientID) {
  649. ShowZommGride(ClientID, "../apply/dlgQueryCustomer.aspx", "CustomerSelect");
  650. }
  651. function ShowZommGride(ClientID, url, name) {
  652. showx = event.screenX - event.offsetX - 104;
  653. showy = event.screenY - event.offsetY + 18;
  654. var retval;
  655. retval = window.showModalDialog(url, name, "dialogWidth:639px; dialogHeight:361px; dialogLeft:" + showx + "px; dialogTop:" + showy + "px; status:no; directories:yes; scrollbars:no; Resizable=no; help: no;");
  656. if (retval != null) {
  657. document.getElementById(ClientID).value = retval;
  658. }
  659. }