页面校验通用js

  1.   
  2. /*  
  3. ==================================================================  
  4. 公共函数:  
  5. 功能:检查是否要显示提示窗口  
  6. ==================================================================  
  7. */   
  8. function  IfShow(ShowMsg)   
  9. {   
  10. if  (ShowMsg ==  ""  )   
  11. {   
  12. return   false ;   
  13. }   
  14. else   
  15. {   
  16. return   true ;   
  17. }   
  18.   
  19. }   
  20.   
  21.   
  22. /*  
  23. ==================================================================  
  24. 功能:替换空格(将多个连续空格替换为一个空格)  
  25. 使用:ReplaceSpace(obj)   
  26. 返回:string  
  27. ==================================================================  
  28. */   
  29. function  ReplaceSpace(str)   
  30. {    
  31. while  ( str.indexOf( " " ) >= 0 )   
  32. {   
  33. str = str.replace( " "  , " " );   
  34. }   
  35. return  str;   
  36. }   
  37.   
  38. /*  
  39. ==================================================================  
  40. 功能:非空检查,不忽略空格  
  41. 提示信息:输入框为空,请输入!  
  42. 使用:isNull(obj,string)   
  43. 返回:bool  
  44. ==================================================================  
  45. */   
  46. function  isNull(obj,ShowMsg)    
  47. {   
  48. var  show = IfShow(ShowMsg) ;   
  49.   
  50. //非空检查   
  51. if (obj.value ==  "" )   
  52. {   
  53. if  (show) alert(ShowMsg);   
  54. obj.focus();   
  55. obj.select();    
  56. return   false ;   
  57. }   
  58. else   
  59. {   
  60. return   true ;   
  61. }   
  62. }   
  63.   
  64. /*  
  65. ==================================================================  
  66. 功能:邮箱地址检查  
  67. 提示信息:未输入邮件地址或邮件地址无效!  
  68. 使用:MailCheck(obj,string)  
  69. 返回:bool  
  70. ==================================================================  
  71. */   
  72. function  MailCheck(obj,ShowMsg)   
  73. {   
  74. var  show = IfShow(ShowMsg) ;   
  75.   
  76. if (obj.value!=  "" )   
  77. {   
  78. var  ok1=obj.value.indexOf( "@" );   
  79. var  ok2=obj.value.indexOf( "." );   
  80. if (!((ok1!=-1)&&(ok2!=-1)))   
  81. {   
  82. if  (show) alert(ShowMsg);   
  83. obj.focus();   
  84. obj.select();   
  85. return   false ;   
  86. }   
  87. var  allowstrlist =  "&#%<>" ;   
  88. var  endvalue =  true ;   
  89. for  (i=0;i<obj.value.length;i++)    
  90. {   
  91. if  (allowstrlist.indexOf(obj.value.substr(i,1))!=-1)    
  92. {   
  93. endvalue= false ;    
  94. break ;   
  95. }   
  96. }   
  97. if (endvalue== false )   
  98. {   
  99. if  (show) alert(ShowMsg);   
  100. obj.focus();   
  101. obj.select();   
  102. return   false ;    
  103. }   
  104. //邮件地址正确   
  105. return   true ;   
  106. }   
  107. else   
  108. {   
  109. //请输入电子信箱地址   
  110. if  (show) alert(ShowMsg);   
  111. obj.focus();   
  112. obj.select();   
  113. return   false ;   
  114. }   
  115. }   
  116.   
  117. /*  
  118. ==================================================================  
  119. 功能:检查输入的是否为数字  
  120. 提示信息:未输入或输入的不是一个合法的数字!  
  121. 使用:isNumeric(obj,string)  
  122. 返回:bool  
  123. ==================================================================  
  124. */   
  125. function  isNumeric(obj,ShowMsg)   
  126. {    
  127. var  show = IfShow(ShowMsg) ;   
  128.   
  129. var  IfTrue = obj.value.search(/^(-|/+)?/d+(/./d+)?$/) != -1;   
  130.   
  131. if  (show && IfTrue == false )   
  132. {    
  133. alert(ShowMsg);   
  134. obj.focus();   
  135. obj.select();   
  136. return   false ;   
  137. }    
  138. else   
  139. {   
  140. return   true ;   
  141. }   
  142. }    
  143.   
  144. /*  
  145. ==================================================================  
  146. 功能:打印  
  147. 使用:Print()  
  148. 返回:  
  149. ==================================================================  
  150. */   
  151. function  Print()   
  152. {   
  153.   
  154. document.all.print.style.display =  "none" ;   
  155. window.print();   
  156. window.close();   
  157. }   
  158.   
  159. /*  
  160. ==================================================================  
  161. 功能:判断是否为日期(格式:yyyy-mm-dd)  
  162. 提示信息:未输入或输入的日期格式错误!  
  163. 使用:isDate(obj,string)  
  164. 返回:bool  
  165. ==================================================================  
  166. */   
  167. function  isDate(obj,ShowMsg)   
  168. {   
  169. var  show = IfShow(ShowMsg) ;   
  170.   
  171. if (obj.value== null )   
  172. {   
  173. if  (show) alert(ShowMsg);   
  174. return   false ;   
  175. }   
  176.   
  177. if (obj.value== "" )   
  178. {   
  179. if  (show) alert(ShowMsg);   
  180. return   false ;   
  181. }   
  182.   
  183. var  datePat=/^(/d{2}|/d{4})(/-)(/d{1,2})(/-)(/d{1,2})$/;   
  184.   
  185. var  dateStr=obj.value;   
  186. // is the format ok?   
  187. var  matchArray = dateStr.match(datePat);    
  188.   
  189.   
  190. if  (matchArray== null )   
  191. {   
  192. if  (show) alert(ShowMsg);   
  193. return   false ;   
  194. }   
  195. year=matchArray[1];   
  196. month=matchArray[3];   
  197. day=matchArray[5];   
  198.   
  199. if  (year.length!=4 || month.length!=2 || day.length!=2)   
  200. {   
  201. if  (show) alert(ShowMsg);   
  202. return   false ;   
  203. }   
  204. if  (month < 1 || month > 12)   
  205. {   
  206. if  (show) alert(ShowMsg);   
  207. return   false ;   
  208. }   
  209. if  (day < 1 || day > 31)   
  210. {   
  211. if  (show) alert(ShowMsg);   
  212. return   false ;   
  213. }   
  214.   
  215. if  ((month==4 || month==6 || month==9 || month==11) && day==31)   
  216. {   
  217. if  (show) alert(ShowMsg);   
  218. return   false ;   
  219. }   
  220.   
  221. if  (month==2)   
  222. {   
  223. var  isleap=(year % 4==0 && (year % 100 !=0 || year % 400==0));   
  224. if  (day>29 || ((day==29) && (!isleap)))   
  225. {   
  226. if  (show) alert(ShowMsg);   
  227. return   false ;   
  228. }   
  229. }   
  230. return   true ;   
  231. }   
  232.   
  233. /*  
  234. ==================================================================  
  235. 功能:日期大小判断(格式:yyyy-mm-dd)  
  236. 提示信息:未输入或输入的开始日期大于结束日期!  
  237. 使用:JudgeDate(obj1,obj2,string)  
  238. 返回:bool  
  239. ==================================================================  
  240. */   
  241. function  JudgeDate(obj1,obj2,ShowMsg)   
  242. {   
  243. var  show = IfShow(ShowMsg) ;   
  244.   
  245. var  eva = isDate(obj1, "" ) && isDate(obj2, "" );   
  246.   
  247. if (obj1.value!= ""  && obj2.value!= ""  & eva !=  false )   
  248. {   
  249. var  date1 = obj1.value;   
  250. var  myDate1 = Date.parse(date1.replace( "-" , "/" ));   
  251. var  date2 = obj2.value;   
  252. var  myDate2 = Date.parse(date2.replace( "-" , "/" ));   
  253. if (myDate1 > myDate2)   
  254. {   
  255. if  (show) alert(ShowMsg);   
  256. return   false ;   
  257. }   
  258. else   
  259. {   
  260. return   true ;   
  261. }   
  262. }   
  263. else   
  264. {   
  265. if  (show) alert(ShowMsg);   
  266. return   false ;   
  267. }   
  268. }   
  269.   
  270. /*  
  271. ==================================================================  
  272. 功能:字符串操作,去除字符串两边的空格  
  273. 使用:Trim(string)  
  274. 返回:string  
  275. ==================================================================  
  276. */     
  277. /*  
  278. ==================================================================  
  279. 功能:去除左边的空格  
  280. 使用:LTrim(string)  
  281. 返回:string  
  282. ==================================================================  
  283. */   
  284. function  LTrim(str)   
  285. {   
  286. var  whitespace =  new  String( " /t/n/r" );   
  287. var  s =  new  String(str);   
  288.   
  289. if  (whitespace.indexOf(s.charAt(0)) != -1)   
  290. {   
  291. var  j=0, i = s.length;   
  292. while  (j < i && whitespace.indexOf(s.charAt(j)) != -1)   
  293. {   
  294. j++;   
  295. }   
  296. s = s.substring(j, i);   
  297. }   
  298. return  s;   
  299. }   
  300.   
  301. /*  
  302. ==================================================================  
  303. 功能:去除右边的空格  
  304. 使用:RTrim(string)  
  305. 返回:string  
  306. ==================================================================  
  307. */   
  308. function  RTrim(str)   
  309. {   
  310. var  whitespace =  new  String( " /t/n/r" );   
  311. var  s =  new  String(str);   
  312.   
  313. if  (whitespace.indexOf(s.charAt(s.length-1)) != -1)   
  314. {   
  315. var  i = s.length - 1;   
  316. while  (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)   
  317. {   
  318. i--;   
  319. }   
  320. s = s.substring(0, i+1);   
  321. }   
  322. return  s;   
  323. }   
  324.   
  325. //去除前后空格    
  326. function  Trim(str)   
  327. {   
  328. return  RTrim(LTrim(str));   
  329. }    
  330.   
  331.   
  332. /*  
  333. ==================================================================  
  334. 功能:无效字符的检测(不允许输入特殊字符)  
  335. 提示信息:未输入或输入包含非法字符  
  336. 使用:CheckChar(obj,Lchar,string)  
  337. Lchar:要检查的特殊字符  
  338. 返回:bool  
  339. ==================================================================  
  340. */   
  341. function  CheckChar(obj,Lchar,ShowMsg)   
  342. {   
  343. var  show = IfShow(ShowMsg);   
  344.   
  345. var  strlist = Lchar;  //"~!@#$%^&*?<>/"/'";   
  346.   
  347. //无效字符的检测    
  348. if (obj.value!=  "" )   
  349. {    
  350. var  tmpbool= true ;   
  351. for  (i=0;i<obj.value.length;i++)   
  352. {   
  353. if (strlist.indexOf(obj.value.substr(i,1))!=-1)   
  354. {   
  355. tmpbool= false ;   
  356. break ;   
  357. }   
  358. else   
  359. {}   
  360. }   
  361.   
  362. if (tmpbool== false )   
  363. {   
  364. if  (show) alert(ShowMsg + strlist);   
  365. obj.focus();   
  366. obj.select();   
  367. return   false ;   
  368. }   
  369. else   
  370. {   
  371. return   true ;   
  372. }   
  373. }   
  374. else   
  375. {   
  376. if  (show) alert(ShowMsg + strlist);   
  377. return   false ;   
  378. }   
  379.   
  380. }   
  381.   
  382. /*  
  383. ==================================================================  
  384. 功能:判断是否为整数、正整数、负整数、正整数+0、负整数+0  
  385. 提示信息:参数错误或输入的不是一个(整数)。。  
  386. 使用:isInt(obj,string,int or string,string)  
  387. (测试对象,+ or - or empty,empty or 0,显示信息)  
  388. 空 整数  
  389. + 正整数  
  390. - 负整数  
  391. 返回:bool  
  392. ==================================================================  
  393. */   
  394. function  isInt(obj,sign,zero,ShowMsg)   
  395. {   
  396. var  show = IfShow(ShowMsg);   
  397.   
  398. var  objStr = obj.value;   
  399.   
  400. var  reg;    
  401. var  bolzero;    
  402.   
  403. if (Trim(objStr)== "" )   
  404. {    
  405. if  (show) alert(ShowMsg);   
  406. obj.focus();   
  407. obj.select();   
  408. return   false ;   
  409. }   
  410. else   
  411. {   
  412. objStr=objStr.toString();   
  413. }    
  414.   
  415. if ((sign== null )||(Trim(sign)== "" ))   
  416. {   
  417. sign= "+-" ;   
  418. }   
  419.   
  420. if ((zero== null )||(Trim(zero)== "" ))   
  421. {   
  422. bolzero= false ;   
  423. }   
  424. else   
  425. {   
  426. zero=zero.toString();   
  427. if (zero==0)   
  428. {   
  429. bolzero= true ;   
  430. }   
  431. else   
  432. {   
  433. if  (show) alert(ShowMsg);   
  434. obj.focus();   
  435. obj.select();   
  436. return   false ;   
  437. }   
  438. }   
  439.   
  440. switch (sign)   
  441. {   
  442. case   "+-" :   
  443. //整数   
  444. reg=/(^-?|^/+?)/d+$/;    
  445. break ;   
  446. case   "+" :    
  447. if (!bolzero)    
  448. {   
  449. //正整数   
  450. reg=/^/+?[0-9]*[1-9][0-9]*$/;   
  451. }   
  452. else   
  453. {   
  454. //正整数+0   
  455. //reg=/^/+?/d+$/;   
  456. reg=/^/+?[0-9]*[0-9][0-9]*$/;   
  457. }   
  458. break ;   
  459. case   "-" :   
  460. if (!bolzero)   
  461. {   
  462. //负整数   
  463. reg=/^-[0-9]*[1-9][0-9]*$/;   
  464. }   
  465. else   
  466. {   
  467. //负整数+0   
  468. //reg=/^-/d+$/;   
  469. reg=/^-[0-9]*[0-9][0-9]*$/;   
  470. }    
  471. break ;   
  472. default :   
  473. if  (show) alert(ShowMsg);   
  474. obj.focus();   
  475. obj.select();   
  476. return   false ;   
  477. break ;   
  478. }   
  479.   
  480. var  r=objStr.match(reg);   
  481. if (r== null )   
  482. {   
  483. if  (show) alert(ShowMsg);   
  484. obj.focus();   
  485. obj.select();   
  486. return   false ;   
  487. }   
  488. else   
  489. {    
  490. return   true ;    
  491. }   
  492. }   
  493. /*  
  494. ==================================================================  
  495. 功能:判断是否为浮点数、正浮点数、负浮点数、正浮点数+0、负浮点数+0   
  496. 提示信息:参数错误或输入的不是一个(浮点数)。。  
  497. 使用:isFloat(obj,string,int or string,string)  
  498. (测试对象,+ or - or empty,empty or 0,提示信息)  
  499. 参数二:   
  500. 空 浮点数  
  501. + 正浮点数  
  502. - 负浮点数  
  503. 返回:bool  
  504. ==================================================================  
  505. */   
  506. function  isFloat(obj,sign,zero,ShowMsg)   
  507. {   
  508. var  show = IfShow(ShowMsg);   
  509.   
  510. var  objStr = obj.value;   
  511. var  reg;    
  512. var  bolzero;    
  513.   
  514. if (Trim(objStr)== "" )   
  515. {   
  516. if  (show) alert(ShowMsg);   
  517. obj.focus();   
  518. obj.select();   
  519. return   false ;   
  520. }   
  521. else   
  522. {   
  523. objStr=objStr.toString();   
  524. }    
  525.   
  526. if ((sign== null )||(Trim(sign)== "" ))   
  527. {   
  528. sign= "+-" ;   
  529. }   
  530.   
  531. if ((zero== null )||(Trim(zero)== "" ))   
  532. {   
  533. bolzero= false ;   
  534. }   
  535. else   
  536. {   
  537. zero=zero.toString();   
  538. if (zero==0)   
  539. {   
  540. bolzero= true ;   
  541. }   
  542. else   
  543. {   
  544. if  (show) alert(ShowMsg);   
  545. obj.focus();   
  546. obj.select();   
  547. return   false ;   
  548. }   
  549. }   
  550.   
  551. switch (sign)   
  552. {   
  553. case   "+-" :   
  554. //浮点数   
  555. reg=/^((-?|/+?)/d+)(/./d+)?$/;   
  556. break ;   
  557. case   "+" :    
  558. if (!bolzero)    
  559. {   
  560. //正浮点数    
  561. reg=/^/+?(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*))$/;   
  562. }   
  563. else   
  564. {   
  565. //正浮点数+0   
  566. reg=/^/+?/d+(/./d+)?$/;   
  567. }   
  568. break ;   
  569. case   "-" :   
  570. if (!bolzero)   
  571. {   
  572. //负浮点数    
  573. reg=/^-(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*))$/;   
  574. }   
  575. else   
  576. {   
  577. //负浮点数+0   
  578. reg=/^((-/d+(/./d+)?)|(0+(/.0+)?))$/;   
  579. }    
  580. break ;   
  581. default :   
  582. if  (show) alert(ShowMsg);   
  583. obj.focus();   
  584. obj.select();   
  585. return   false ;   
  586. break ;   
  587. }   
  588.   
  589. var  r=objStr.match(reg);   
  590. if (r== null )   
  591. {   
  592. if  (show) alert(ShowMsg);   
  593. obj.focus();   
  594. obj.select();   
  595. return   false ;   
  596. }   
  597. else   
  598. {    
  599. return   true ;    
  600. }   
  601. }   
  602.   
  603.   
  604. /*  
  605. ==================================================================  
  606. 功能:验证身份证号码是否有效  
  607. 提示信息:未输入或输入身份证号不正确!  
  608. 使用:isIDno(obj,string)  
  609. 返回:bool  
  610. ==================================================================  
  611. */   
  612. function  isIDno(obj,ShowMsg)   
  613. {   
  614. var  show = IfShow(ShowMsg);   
  615.   
  616. //aCity={11:"北 京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上 海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖 南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕 西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"};   
  617. var  aCity =  "11,12,13,14,15,21,22,23,31,32,33,34,35,36,37,41,42,43,44,45,46,50,51,52,53,54,61,62,63,64,65,71,81,82,91"   
  618.   
  619. var  iSum = 0;   
  620. var  info =  "" ;   
  621. var  idCardLength = obj.value.length;   
  622.   
  623. if (!/^/d{17}(/d|x)$/i.test(obj.value)&&!/^/d{15}$/i.test(obj.value))    
  624. {   
  625. if  (show) alert(ShowMsg);   
  626. obj.focus();   
  627. obj.select();   
  628. return   false ;   
  629. }   
  630.   
  631. //在后面的运算中x相当于数字10,所以转换成a   
  632. obj.value = obj.value.replace(/x$/i, "a" );   
  633.   
  634. var  curCity = obj.value.substr(0,2);   
  635.   
  636. if (!(aCity.indexOf(curCity) > 0) )   
  637. {   
  638. if  (show) alert(ShowMsg);   
  639. obj.focus();   
  640. obj.select();   
  641. return   false ;   
  642. }   
  643.   
  644. if  (idCardLength==18)   
  645. {   
  646. sBirthday=obj.value.substr(6,4)+ "-" +Number(obj.value.substr(10,2))+ "-" +Number(obj.value.substr(12,2));   
  647. var  d =  new  Date(sBirthday.replace(/-/g, "/" ))   
  648. if (sBirthday!=(d.getFullYear()+ "-" + (d.getMonth()+1) +  "-"  + d.getDate()))   
  649. {   
  650. if  (show)    
  651. alert(ShowMsg);   
  652. obj.fo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值