js表單驗證

 

  1. /*用途:校驗ip地址的格式  正則表達式

  2. 輸入:strIP:ip地址  函數

  3. 返回:若是經過驗證返回true,不然返回false;  spa

  4.  

  5. */   對象

  6. function isIP(strIP) {   ip

  7. if (isNull(strIP)) return false;   ci

  8. var re=/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g //匹配IP地址的正則表達式   字符串

  9. if(re.test(strIP))   get

  10. {   string

  11. if( RegExp.$1 <256 && RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256) return true;   it

  12. }   

  13. return false;   

  14. }   

  15.   

  16. /*  

  17. 用途:檢查輸入字符串是否爲空或者所有都是空格  

  18. 輸入:str  

  19. 返回:  

  20. 若是全是空返回true,不然返回false  

  21. */   

  22. function isNull( str ){   

  23. if ( str == "" ) return true;   

  24. var regu = "^[ ]+$";   

  25. var re = new RegExp(regu);   

  26. return re.test(str);   

  27. }   

  28.   

  29.     

  30. /*  

  31. 用途:檢查輸入對象的值是否符合整數格式  

  32. 輸入:str 輸入的字符串  

  33. 返回:若是經過驗證返回true,不然返回false  

  34.  

  35. */   

  36. function isInteger( str ){    

  37. var regu = /^[-]{0,1}[0-9]{1,}$/;   

  38. return regu.test(str);   

  39. }   

  40.   

  41. /*  

  42. 用途:檢查輸入手機號碼是否正確  

  43. 輸入:  

  44. s:字符串  

  45. 返回:  

  46. 若是經過驗證返回true,不然返回false  

  47.  

  48. */   

  49. function checkMobile( s ){     

  50. var regu =/^[1][3][0-9]{9}$/;   

  51. var re = new RegExp(regu);   

  52. if (re.test(s)) {   

  53. return true;   

  54. }else{   

  55. return false;   

  56. }   

  57. }   

  58.   

  59.     

  60. /*  

  61. 用途:檢查輸入字符串是否符合正整數格式  

  62. 輸入:  

  63. s:字符串  

  64. 返回:  

  65. 若是經過驗證返回true,不然返回false  

  66.  

  67. */   

  68. function isNumber( s ){     

  69. var regu = "^[0-9]+$";   

  70. var re = new RegExp(regu);   

  71. if (s.search(re) != -1) {   

  72. return true;   

  73. else {   

  74. return false;   

  75. }   

  76. }   

  77.   

  78. /*  

  79. 用途:檢查輸入字符串是不是帶小數的數字格式,能夠是負數  

  80. 輸入:  

  81. s:字符串  

  82. 返回:  

  83. 若是經過驗證返回true,不然返回false  

  84.  

  85. */   

  86. function isDecimal( str ){     

  87. if(isInteger(str)) return true;   

  88. var re = /^[-]{0,1}(\d+)[\.]+(\d+)$/;   

  89. if (re.test(str)) {   

  90. if(RegExp.$1==0&&RegExp.$2==0) return false;   

  91. return true;   

  92. else {   

  93. return false;   

  94. }   

  95. }   

  96.   

  97. /*  

  98. 用途:檢查輸入對象的值是否符合端口號格式  

  99. 輸入:str 輸入的字符串  

  100. 返回:若是經過驗證返回true,不然返回false  

  101.  

  102. */   

  103. function isPort( str ){    

  104. return (isNumber(str) && str<65536);   

  105. }   

  106.   

  107. /*  

  108. 用途:檢查輸入對象的值是否符合E-Mail格式  

  109. 輸入:str 輸入的字符串  

  110. 返回:若是經過驗證返回true,不然返回false  

  111.  

  112. */   

  113. function isEmail( str ){    

  114. var myReg = /^[-_A-Za-z0-9]+@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/;   

  115. if(myReg.test(str)) return true;   

  116. return false;   

  117. }   

  118.   

  119. /*  

  120. 用途:檢查輸入字符串是否符合金額格式  

  121. 格式定義爲帶小數的正數,小數點後最多三位  

  122. 輸入:  

  123. s:字符串  

  124. 返回:  

  125. 若是經過驗證返回true,不然返回false  

  126.  

  127. */   

  128. function isMoney( s ){     

  129. var regu = "^[0-9]+[\.][0-9]{0,3}$";   

  130. var re = new RegExp(regu);   

  131. if (re.test(s)) {   

  132. return true;   

  133. else {   

  134. return false;   

  135. }   

  136. }   

  137. /*  

  138. 用途:檢查輸入字符串是否只由英文字母和數字和下劃線組成  

  139. 輸入:  

  140. s:字符串  

  141. 返回:  

  142. 若是經過驗證返回true,不然返回false  

  143.  

  144. */   

  145. function isNumberOr_Letter( s ){//判斷是不是數字或字母   

  146.   

  147. var regu = "^[0-9a-zA-Z\_]+$";   

  148. var re = new RegExp(regu);   

  149. if (re.test(s)) {   

  150. return true;   

  151. }else{   

  152. return false;   

  153. }   

  154. }   

  155. /*  

  156. 用途:檢查輸入字符串是否只由英文字母和數字組成  

  157. 輸入:  

  158. s:字符串  

  159. 返回:  

  160. 若是經過驗證返回true,不然返回false  

  161.  

  162. */   

  163. function isNumberOrLetter( s ){//判斷是不是數字或字母   

  164.   

  165. var regu = "^[0-9a-zA-Z]+$";   

  166. var re = new RegExp(regu);   

  167. if (re.test(s)) {   

  168. return true;   

  169. }else{   

  170. return false;   

  171. }   

  172. }   

  173. /*  

  174. 用途:檢查輸入字符串是否只由漢字、字母、數字組成  

  175. 輸入:  

  176. value:字符串  

  177. 返回:  

  178. 若是經過驗證返回true,不然返回false  

  179.  

  180. */   

  181. function isChinaOrNumbOrLett( s ){//判斷是不是漢字、字母、數字組成   

  182.   

  183. var regu = "^[0-9a-zA-Z\u4e00-\u9fa5]+$";     

  184. var re = new RegExp(regu);   

  185. if (re.test(s)) {   

  186. return true;   

  187. }else{   

  188. return false;   

  189. }   

  190. }   

  191.   

  192. /*  

  193. 用途:判斷是不是日期  

  194. 輸入:date:日期;fmt:日期格式  

  195. 返回:若是經過驗證返回true,不然返回false  

  196. */   

  197. function isDate( date, fmt ) {   

  198. if (fmt==null) fmt="yyyyMMdd";   

  199. var yIndex = fmt.indexOf("yyyy");   

  200. if(yIndex==-1) return false;   

  201. var year = date.substring(yIndex,yIndex+4);   

  202. var mIndex = fmt.indexOf("MM");   

  203. if(mIndex==-1) return false;   

  204. var month = date.substring(mIndex,mIndex+2);   

  205. var dIndex = fmt.indexOf("dd");   

  206. if(dIndex==-1) return false;   

  207. var day = date.substring(dIndex,dIndex+2);   

  208. if(!isNumber(year)||year>"2100" || year< "1900"return false;   

  209. if(!isNumber(month)||month>"12" || month< "01"return false;   

  210. if(day>getMaxDay(year,month) || day< "01"return false;   

  211. return true;   

  212. }   

  213.   

  214. function getMaxDay(year,month) {   

  215. if(month==4||month==6||month==9||month==11)   

  216. return "30";   

  217. if(month==2)   

  218. if(year%4==0&&year%100!=0 || year%400==0)   

  219. return "29";   

  220. else   

  221. return "28";   

  222. return "31";   

  223. }   

  224.   

  225. /*  

  226. 用途:字符1是否以字符串2結束  

  227. 輸入:str1:字符串;str2:被包含的字符串  

  228. 返回:若是經過驗證返回true,不然返回false  

  229.  

  230. */   

  231. function isLastMatch(str1,str2)   

  232. {    

  233. var index = str1.lastIndexOf(str2);   

  234. if(str1.length==index+str2.length) return true;   

  235. return false;   

  236. }   

  237.   

  238.     

  239. /*  

  240. 用途:字符1是否以字符串2開始  

  241. 輸入:str1:字符串;str2:被包含的字符串  

  242. 返回:若是經過驗證返回true,不然返回false  

  243.  

  244. */   

  245. function isFirstMatch(str1,str2)   

  246. {    

  247. var index = str1.indexOf(str2);   

  248. if(index==0) return true;   

  249. return false;   

  250. }   

  251.   

  252. /*  

  253. 用途:字符1是包含字符串2  

  254. 輸入:str1:字符串;str2:被包含的字符串  

  255. 返回:若是經過驗證返回true,不然返回false  

  256.  

  257. */   

  258. function isMatch(str1,str2)   

  259. {    

  260. var index = str1.indexOf(str2);   

  261. if(index==-1) return false;   

  262. return true;   

  263. }   

  264.   

  265.     

  266. /*  

  267. 用途:檢查輸入的起止日期是否正確,規則爲兩個日期的格式正確,  

  268. 且結束如期>=起始日期  

  269. 輸入:  

  270. startDate:起始日期,字符串  

  271. endDate:結束如期,字符串  

  272. 返回:  

  273. 若是經過驗證返回true,不然返回false  

  274.  

  275. */   

  276. function checkTwoDate( startDate,endDate ) {   

  277. if( !isDate(startDate) ) {   

  278. alert("起始日期不正確!");   

  279. return false;   

  280. else if( !isDate(endDate) ) {   

  281. alert("終止日期不正確!");   

  282. return false;   

  283. else if( startDate > endDate ) {   

  284. alert("起始日期不能大於終止日期!");   

  285. return false;   

  286. }   

  287. return true;   

  288. }   

  289.   

  290. /*  

  291. 用途:檢查輸入的Email信箱格式是否正確  

  292. 輸入:  

  293. strEmail:字符串  

  294. 返回:  

  295. 若是經過驗證返回true,不然返回false  

  296.  

  297. */   

  298. function checkEmail(strEmail) {   

  299. //var emailReg = /^[_a-z0-9]+@([_a-z0-9]+\.)+[a-z0-9]{2,3}$/;   

  300. var emailReg = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;   

  301. if( emailReg.test(strEmail) ){   

  302. return true;   

  303. }else{   

  304. alert("您輸入的Email地址格式不正確!");   

  305. return false;   

  306. }   

  307. }   

  308.   

  309. /*  

  310. 用途:檢查輸入的電話號碼格式是否正確  

  311. 輸入:  

  312. strPhone:字符串  

  313. 返回:  

  314. 若是經過驗證返回true,不然返回false  

  315.  

  316. */   

  317. function checkPhone( strPhone ) {   

  318. var phoneRegWithArea = /^[0][1-9]{2,3}-[0-9]{5,10}$/;   

  319. var phoneRegNoArea = /^[1-9]{1}[0-9]{5,8}$/;   

  320. var prompt = "您輸入的電話號碼不正確!"   

  321. if( strPhone.length > 9 ) {   

  322. if( phoneRegWithArea.test(strPhone) ){   

  323. return true;   

  324. }else{   

  325. alert( prompt );   

  326. return false;   

  327. }   

  328. }else{   

  329. if( phoneRegNoArea.test( strPhone ) ){   

  330. return true;   

  331. }else{   

  332. alert( prompt );   

  333. return false;   

  334. }   

  335.   

  336.     

  337. }   

  338. }   

  339.   

  340.     

  341. /*  

  342. 用途:檢查複選框被選中的數目  

  343. 輸入:  

  344. checkboxID:字符串  

  345. 返回:  

  346. 返回該複選框中被選中的數目  

  347.  

  348. */   

  349.   

  350. function checkSelect( checkboxID ) {   

  351. var check = 0;   

  352. var i=0;   

  353. if( document.all(checkboxID).length > 0 ) {   

  354. for(  i=0; i<document.all(checkboxID).length; i++ ) {   

  355. if( document.all(checkboxID).item( i ).checked  ) {   

  356. check += 1;   

  357. }   

  358.   

  359.     

  360.   

  361.     

  362. }   

  363. }else{   

  364. if( document.all(checkboxID).checked )   

  365. check = 1;   

  366. }   

  367. return check;   

  368. }   

  369.   

  370. function getTotalBytes(varField) {   

  371. if(varField == null)   

  372. return -1;   

  373.   

  374. var totalCount = 0;   

  375. for (i = 0; i< varField.value.length; i++) {   

  376. if (varField.value.charCodeAt(i) > 127)   

  377. totalCount += 2;   

  378. else   

  379. totalCount++ ;   

  380. }   

  381. return totalCount;   

  382. }   

  383.   

  384. function getFirstSelectedValue( checkboxID ){   

  385. var value = null;   

  386. var i=0;   

  387. if( document.all(checkboxID).length > 0 ){   

  388. for(  i=0; i<document.all(checkboxID).length; i++ ){   

  389. if( document.all(checkboxID).item( i ).checked ){   

  390. value = document.all(checkboxID).item(i).value;   

  391. break;   

  392. }   

  393. }   

  394. else {   

  395. if( document.all(checkboxID).checked )   

  396. value = document.all(checkboxID).value;   

  397. }   

  398. return value;   

  399. }   

  400.   

  401.     

  402. function getFirstSelectedIndex( checkboxID ){   

  403. var value = -2;   

  404. var i=0;   

  405. if( document.all(checkboxID).length > 0 ){   

  406. for(  i=0; i<document.all(checkboxID).length; i++ ) {   

  407. if( document.all(checkboxID).item( i ).checked  ) {   

  408. value = i;   

  409. break;   

  410. }   

  411. }   

  412. else {   

  413. if( document.all(checkboxID).checked )   

  414. value = -1;   

  415. }   

  416. return value;   

  417. }   

  418.   

  419. function selectAll( checkboxID,status ){   

  420.   

  421. if( document.all(checkboxID) == null)   

  422. return;   

  423.   

  424. if( document.all(checkboxID).length > 0 ){   

  425. for(  i=0; i<document.all(checkboxID).length; i++ ){   

  426.   

  427. document.all(checkboxID).item( i ).checked = status;   

  428. }   

  429. else {   

  430. document.all(checkboxID).checked = status;   

  431. }   

  432. }   

  433.   

  434. function selectInverse( checkboxID ) {   

  435. if( document.all(checkboxID) == null)   

  436. return;   

  437.   

  438. if( document.all(checkboxID).length > 0 ) {   

  439. for(  i=0; i<document.all(checkboxID).length; i++ ) {   

  440. document.all(checkboxID).item( i ).checked = !document.all(checkboxID).item( i ).checked;   

  441. }   

  442. else {   

  443. document.all(checkboxID).checked = !document.all(checkboxID).checked;   

  444. }   

  445. }   

  446.   

  447. function checkDate( value ) {   

  448. if(value==''return true;   

  449. if(value.length!=8 || !isNumber(value)) return false;    

  450. var year = value.substring(0,4);   

  451. if(year>"2100" || year< "1900")   

  452. return false;   

  453.   

  454. var month = value.substring(4,6);   

  455. if(month>"12" || month< "01"return false;   

  456.   

  457. var day = value.substring(6,8);   

  458. if(day>getMaxDay(year,month) || day< "01"return false;   

  459.   

  460. return true;    

  461. }   

  462.   

  463. /*  

  464. 用途:檢查輸入的起止日期是否正確,規則爲兩個日期的格式正確或都爲空  

  465. 且結束日期>=起始日期  

  466. 輸入:  

  467. startDate:起始日期,字符串  

  468. endDate:  結束日期,字符串  

  469. 返回:  

  470. 若是經過驗證返回true,不然返回false  

  471.  

  472. */   

  473. function checkPeriod( startDate,endDate ) {   

  474. if( !checkDate(startDate) ) {   

  475. alert("起始日期不正確!");   

  476. return false;   

  477. else if( !checkDate(endDate) ) {   

  478. alert("終止日期不正確!");   

  479. return false;   

  480. else if( startDate > endDate ) {   

  481. alert("起始日期不能大於終止日期!");   

  482. return false;   

  483. }   

  484. return true;   

  485. }   

  486.   

  487. /*  

  488. 用途:檢查證券代碼是否正確  

  489. 輸入:  

  490. secCode:證券代碼  

  491. 返回:  

  492. 若是經過驗證返回true,不然返回false  

  493.  

  494. */   

  495. function checkSecCode( secCode ) {   

  496. if( secCode.length !=6 ){   

  497. alert("證券代碼長度應該爲6位");   

  498. return false;   

  499. }   

  500.   

  501. if(!isNumber( secCode ) ){   

  502. alert("證券代碼只能包含數字");   

  503.   

  504.     

  505. return false;   

  506. }   

  507. return true;   

  508. }   

  509.   

  510. /****************************************************  

  511. function:cTrim(sInputString,iType)  

  512. description:字符串去空格的函數  

  513. parameters:iType:1=去掉字符串左邊的空格  

  514.  

  515. 2=去掉字符串左邊的空格  

  516. 0=去掉字符串左邊和右邊的空格  

  517. return value:去掉空格的字符串  

  518. ****************************************************/   

  519. function cTrim(sInputString,iType)   

  520. {   

  521. var sTmpStr = ' ';   

  522. var i = -1;   

  523.   

  524. if(iType == 0 || iType == 1)   

  525. {   

  526. while(sTmpStr == ' ')   

  527. {   

  528. ++i;   

  529. sTmpStr = sInputString.substr(i,1);   

  530. }   

  531. sInputString = sInputString.substring(i);   

  532. }   

  533.   

  534. if(iType == 0 || iType == 2)   

  535. {   

  536. sTmpStr = ' ';   

  537. i = sInputString.length;   

  538. while(sTmpStr == ' ')   

  539. {   

  540. --i;   

  541. sTmpStr = sInputString.substr(i,1);   

  542. }   

  543. sInputString = sInputString.substring(0,i+1);   

  544. }   

  545. return sInputString;   

  546. }

相關文章
相關標籤/搜索