一般的对表单数据验证的javascript代码收集

来源:互联网 发布:ie内核浏览器for mac 编辑:程序博客网 时间:2024/04/26 03:27
  1. //正则表达式   
  2. var regDate=/^([1-9]{1}[d]{3})-([d]{2})-([0-4]{1}[d]{1})$/ //年份   
  3. var regTime=/^([d]{2})<img src="images/smilies/frown.gif" border="0" alt="">[d]{2})<img src="images/smilies/frown.gif" border="0" alt="">[d]{2})$/;//时间   
  4. var regTel=/^(0[d]{2,3}[-])?([d]{2,3}[-])?([d]{7,8})$/;//常用的电话   
  5.   
  6. var regEmail=/^([a-zA-Z0-9_-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([a-zA-Z0-9-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$/;//Email   
  7. var regNum=/^[1-9][d]*((.?[d])[d]*)?$/;//数字   
  8. var regInt=/^-?[1-9][d]*$/;//整数   
  9. //^[-+]?[0-9]+[.]?[0-9]*([eE][-+]?[0-9]+)?$ 数字   
  10. //^[-+]?d+(.d+)?$    
  11.   
  12. //判断数字   
  13. //返回值:正确:true 错误:false   
  14. function isNum(num){   
  15.     flag=regNum.test(num);   
  16.     if(flag) return true;   
  17.     return false;   
  18. }   
  19.   
  20. //整数的确认;   
  21. //返回值:正确 true 错误 false   
  22. function isInt(theInt){   
  23.     var flag=regInt.test(theInt);   
  24.     if(flag) return true;   
  25.     return false;   
  26. }   
  27.   
  28. //判断Email地址的的合理性   
  29. //返回值:正确:true 错误:false   
  30. function isEmail(eStr){   
  31.     flag=regEmail.test(eStr);   
  32.     if(flag) return true;   
  33.     return false;   
  34. }   
  35.   
  36. //获取客户端的当前时间   
  37. var dDate=new Date();   
  38. var dYear=dDate.getFullYear();   
  39. var dMonth=FillNumber(dDate.getMonth()+1);   
  40. var dDay=FillNumber(dDate.getDate());   
  41. var dHours=FillNumber(dDate.getHours());   
  42. var dMinutes=FillNumber(dDate.getMinutes());   
  43. var dSeconds=FillNumber(dDate.getSeconds());   
  44.   
  45. //返回当前时间   
  46. function hms(){   
  47.     hm=FillNumber(new Date().getHours())+":"+FillNumber(new Date().getMinutes())+":"+FillNumber(new Date().getSeconds());   
  48.     return hm;   
  49. }   
  50.   
  51. // 日期的确认 isDate()   
  52. // 返回值:正确 true, 错误 false   
  53. function isDate (theStr) {   
  54.        
  55.     var dArray=theStr.match(regDate);    //得到数组   
  56.     if (dArray==null){   
  57.         return (false);   
  58.     }   
  59.     else {                                //把年份月份日期分别付给变量   
  60.         var y = dArray[1];   
  61.         var m = dArray[2];   
  62.         var d = dArray[3];   
  63.   
  64.         var maxDays = 31;               //最长天数   
  65.   
  66.         if (m>12 || m<1 ) return false;//判断月份是否在1-12之间   
  67.         if (m == 4 || m == 6 || m == 9 || m == 11) maxDays = 30;   
  68.         else if(m == 2) {   
  69.             if ( y % 4 > 0) maxDays = 28;   
  70.             else if ( y % 100 == 0 && y % 400 > 0) maxDays = 28;   
  71.             else maxDays = 29;   
  72.         }   
  73.         if (d>maxDays || d<1){//判断日期是否正确   
  74.             return false;   
  75.         }   
  76.         else {   
  77.             return true;   
  78.         }   
  79.     }   
  80. }   
  81.   
  82. // 时间确认 isTime()   
  83. // 返回值:正确 true, 错误 false   
  84. function isTime (theStr) {   
  85.     var tArray=theStr.match(regTime);   
  86.     if(tArray==nullreturn false;   
  87.     var h=tArray[1];   
  88.     var m=tArray[2];   
  89.     var s=tArray[3];   
  90.     if( s>59 || s<0return false;   
  91.     if(m>59 || m<0return false;   
  92.     if(h>23||h<0return false;   
  93.     return true;   
  94. }   
  95.   
  96.   
  97. //为1位日期数字加0   
  98. function FillNumber(num)   
  99. {   
  100.         switch (num)   
  101.         {   
  102.             case 0 :   
  103.                 ReturnNum="00";   
  104.                 break;   
  105.             case 1 :   
  106.                 ReturnNum="01";   
  107.                 break;   
  108.             case 2 :   
  109.                 ReturnNum="02";   
  110.                 break;   
  111.             case 3 :   
  112.                 ReturnNum="03";   
  113.                 break;   
  114.             case 4 :   
  115.                 ReturnNum="04";   
  116.                 break;   
  117.             case 5 :   
  118.                 ReturnNum="05";   
  119.                 break;   
  120.             case 6 :   
  121.                 ReturnNum="06";   
  122.                 break;   
  123.             case 7 :   
  124.                 ReturnNum="07";   
  125.                 break;   
  126.             case 8 :   
  127.                 ReturnNum="08";   
  128.                 break;   
  129.             case 9 :   
  130.                 ReturnNum="09";   
  131.                 break;   
  132.             default :   
  133.                 ReturnNum=num;   
  134.         }   
  135.        
  136.     return ReturnNum;   
  137. }   
  138.   
  139.   
  140. //判断电话号码的合理性   
  141. //正确: True  错误: False   
  142. function isTel(str){   
  143.     var flag=regTel.test(str);   
  144.     if (flag) return true;   
  145.     return false;   
  146. }   
  147.   
  148. //时间+字符串函数   
  149. //三个参数:interval:决定往哪加:h:加在小时上,m:加在分钟上,S:加在秒钟上。   
  150. //number:决定加多少;time:时间字符串。   
  151. function timeAdd(interval,number,time){   
  152.     //alert(time);   
  153.     var flag=isTime(time);//判断time是否是时间字符串   
  154.   
  155.     if (flag){   
  156.         var tArray=time.match(regTime);   
  157.         var h=tArray[1];   
  158.         var m=tArray[2];   
  159.         var s=tArray[3];   
  160.   
  161.         switch (interval){   
  162.             case "h":   
  163.                 var h=eval(number+"+"+h);   
  164.                 var hCarry=Math.floor(h/24);//floor:返回小于等于其数字参数的最大整数   
  165.                 h=FillNumber(eval(h+"-"+24+"*"+hCarry));   
  166.                 h=h+":"+m+":"+s;   
  167.                 return h;   
  168.                 break;   
  169.             case "m":   
  170.                 var m=eval(m+"+"+number);   
  171.                 var mCarry=Math.floor(m/60);   
  172.                 m=FillNumber(eval(m+"-"+60+"*"+mCarry))   
  173.                    
  174.                 h=eval(h+"+"+mCarry);                            //加上从分钟上的进位。   
  175.                 var hCarry=Math.floor(h/24);   
  176.                 h=FillNumber(eval(h+"-"+24+"*"+hCarry));   
  177.   
  178.                 m=h+":"+m+":"+s;   
  179.                 return m;   
  180.                 break;   
  181.             case "s":   
  182.                 var s=eval(s+"+"+number);   
  183.                 var sCarry=Math.floor(s/60);   
  184.                 s=FillNumber(eval(s+"-"+60+"*"+sCarry));        //得到秒数   
  185.   
  186.                 m=eval(m+"+"+sCarry);                            //加上秒钟进位   
  187.                 var mCarry=Math.floor(m/60);   
  188.                 m=FillNumber(eval(m+"-"+60+"*"+mCarry));        //得到分钟数   
  189.        
  190.                 h=eval(h+"+"+mCarry);                            //加上从分钟上的进位。   
  191.                 var hCarry=Math.floor(h/24);   
  192.                 h=FillNumber(eval(h+"-"+24+"*"+hCarry));        //得到小时数   
  193.                    
  194.                 s=h+":"+m+":"+s;                                //得到最后结果   
  195.                 return s;   
  196.                 break;   
  197.             default:   
  198.                 alert("参数错误,请认真检查");   
  199.         }   
  200.     }   
  201.     else{   
  202.         alert("时间字符串错误");   
  203.     }   
  204. }   
  205.   
  206. //得到字符串的长度*汉字为2个字符   
  207. function strlen(str)   
  208. {   
  209.     len=0;   
  210.     n=str.length;   
  211.     for(i=0;i<n;i++)   
  212.     {   
  213.         if(str.charCodeAt(i)>255){   
  214.             len+=2;   
  215.         }   
  216.         else{   
  217.             len+=1;   
  218.         }   
  219.     }   
  220.     return len;   
  221. }   
  222.   
  223. //返回客户端的屏幕分辩率   
  224. function sizePage(){   
  225.     if ((screen.width == 640) && (screen.height == 480))   
  226.         size = "640 x 480";   
  227. else if ((screen.width == 800) && (screen.height == 600))   
  228.         size = "800 x 600";   
  229. else if ((screen.width == 1024) && (screen.height == 768))   
  230.         size = "1024 x 768";   
  231. else size = "the default 640 x 480";   
  232. //alert("经系统检测,你的屏幕分辨率为 " + size + ",你的显示器适于....");   
  233. return size;   
  234. }   
  235. /*   
  236. 判断指定的内容是否为空,若为空则弹出 警告框   
  237. */    
  238. function isEmpty(theValue, strMsg){    
  239. if(theValue==""){    
  240. alert(strMsg+"不能为空!");    
  241. return true;    
  242. }    
  243. return false;    
  244. }    
  245. /*   
  246. 中文判断函数,允许生僻字用英文“*”代替   
  247. 返回true表示是符合条件,返回false表示不符合   
  248. */    
  249. function isChinese(str){    
  250. var badChar ="ABCDEFGHIJKLMNOPQRSTUVWXYZ";    
  251. badChar += "abcdefghijklmnopqrstuvwxyz";    
  252. badChar += "0123456789";    
  253. badChar += " "+" ";//半角与全角空格    
  254. badChar += "`~!@#$%^&()-_=+]////|:;//"///'<,>?/";//不包含*或.的英文符号    
  255. if(""==str){    
  256. return false;    
  257. }    
  258. for(var i=0;i<str.length;i++){    
  259. var c = str.charAt(i);//字符串str中的字符    
  260. if(badChar.indexOf(c) > -1){    
  261. return false;    
  262. }    
  263. }    
  264. return true;    
  265. }    
  266. /*   
  267. 数字判断函数,返回true表示是全部数字,返回false表示不全部是数字   
  268. */    
  269. function isNumber(str){    
  270. if(""==str){    
  271. return false;    
  272. }    
  273. var reg = ///D/;    
  274. return str.match(reg)==null;    
  275. }    
  276.   
  277. /*   
  278. 判断给定的字符串是否为指定长度的数字   
  279. 是返回true,不是返回false   
  280. */    
  281. function isNumber_Ex(str,len){    
  282. if(""==str){    
  283. return false;    
  284. }    
  285.   
  286. if(str.length!=len){    
  287. return false;    
  288. }    
  289.   
  290. if(!isNumber(str)){    
  291. return false;    
  292. }    
  293. return true;    
  294. }    
  295.   
  296. /*   
  297. money判断函数,允许第一位为"-"来表示欠钱   
  298. 返回true表示格式正确,返回false表示格式错误   
  299. */    
  300. function isMoney(str){    
  301. if(""==str){    
  302. return false;    
  303. }    
  304. for(var i=0;i<str.length;i++){    
  305. var c = str.charAt(i);    
  306. if(i==0){    
  307. if(c!="-"&&(c<"0"||c>"9")){    
  308. return false;    
  309. }else if(c=="-"&&str.length==1){    
  310. return false;    
  311. }    
  312. }else if(c < "0" || c > "9"){    
  313. return false;    
  314. }    
  315. }    
  316. return true;    
  317. }    
  318. /*   
  319. 英文判断函数,返回true表示是全部英文,返回false表示不全部是英文   
  320. */    
  321. function isLetter(str){    
  322. if(""==str){    
  323. return false;    
  324. }    
  325. for(var i=0;i<str.length;i++){    
  326. var c = str.charAt(i);    
  327. if((c<"a"||c>"z")&&(c<"A"||c>"Z")){    
  328. return false;    
  329. }    
  330. }    
  331. return true;    
  332. }    
  333. /*   
  334. 空格判断,当包含有空格返回false,当不包含一个空格返回true   
  335. ""不能被判断   
  336. */    
  337. function notInSpace(str){    
  338. if(""==str){    
  339. return false;    
  340. }    
  341. var badChar =" ";    
  342. badChar += " ";    
  343. for(var i=0;i<str.length;i++){    
  344. var c = str.charAt(i);//字符串str中的字符    
  345. if(badChar.indexOf(c) > -1){    
  346. return false;    
  347. }    
  348. }    
  349. return true;    
  350. }    
  351. /*   
  352. 发票号判断函数,返回true表示是发票号,返回false表示不符合规范   
  353. */    
  354. function isFPH(str){    
  355. if(""==str){    
  356. return false;    
  357. }    
  358. for(var i=0;i<str.length;i++){    
  359. var c = str.charAt(i);    
  360. if((c < "0" || c > "9") && (c!="-")&&(c!=",")){    
  361. return false;    
  362. }    
  363. }    
  364. return true;    
  365. }    
  366. /*   
  367. 电话判断函数,允许“数字”、“;”、“-”、“(”、”)“,   
  368. true表示是电话号码   
  369. */    
  370. function isTelephone(str){    
  371. var trueChar = "()-;1234567890";    
  372. if(""==str){    
  373. return false;    
  374. }    
  375. for(var i=0;i<str.length;i++){    
  376. var c = str.charAt(i);//字符串str中的字符    
  377. if(trueChar.indexOf(c) == -1return false;    
  378. }    
  379. return true;    
  380. }    
  381. /**   
  382. 学制可以为1-7,也可以为3.5这种形式,不能超过7年或者低于1年   
  383. */    
  384. function isXZ(str){    
  385. if(""==str){    
  386. return false;    
  387. }    
  388. var reg = /^[1-6](//.5)?$/;    
  389. var r = str.match(reg);    
  390. if(null!=r){    
  391. return true;    
  392. }else{    
  393. if(str=="7"){    
  394. return true;    
  395. }else{    
  396. return false;    
  397. }    
  398. }    
  399. }    
  400.   
  401. /*   
  402. 判断证书编号是否符合要求,证书编号包含中文、数字、大小写字母、(、)、-   
  403. 是返回true,不是返回false   
  404. */    
  405. function isZSBH(str){    
  406. if(""==str){    
  407. return false;    
  408. }    
  409. for(var i=0;i<str.length;i++){    
  410. var c = str.charAt(i);    
  411. alpha = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";    
  412. alpha += "abcdefghijklmnopqrstuvwxyz";    
  413. alpha += "()-";    
  414. if(!isChinese(c)&&!isNumber(c)&&alpha.indexOf(c)==-1){    
  415. return false;    
  416. }    
  417. }    
  418. return true;    
  419. }    
  420.   
  421. /*   
  422. 身份证判断函数,是返回true,不是返回false   
  423. 15位数字,18位数字或者最后一位为X(大写)   
  424. */    
  425. function isSFZ(str){    
  426. if(""==str){    
  427. return false;    
  428. }    
  429. if(str.length!=15&&str.length!=18){//身份证长度不正确    
  430. return false;    
  431. }    
  432. if(str.length==15){    
  433. if(!isNumber(str)){    
  434. return false;    
  435. }    
  436. }else{    
  437. str1 = str.substring(0,17);    
  438. str2 = str.substring(17,18);    
  439. alpha = "X0123456789";    
  440. if(!isNumber(str1)||alpha.indexOf(str2)==-1){    
  441. return false;    
  442. }    
  443. }    
  444. return true;    
  445. }    
  446. /*   
  447. 得到今天的年,月,日   
  448. 调用方法:today = new getToday(); 则today.year为今天的年以此类推   
  449. */    
  450. function getToday(){    
  451. this.now = new Date();    
  452. this.year = this.now.getFullYear();    
  453. this.month = this.now.getMonth();    
  454. this.day = this.now.getDate();    
  455. }   
  456. //正则表达式   
  457. var regDate=/^([1-9]{1}[d]{3})-([d]{2})-([0-4]{1}[d]{1})$/ //年份   
  458. var regTime=/^([d]{2})<img src="images/smilies/frown.gif" border="0" alt="">[d]{2})<img src="images/smilies/frown.gif" border="0" alt="">[d]{2})$/;//时间   
  459. var regTel=/^(0[d]{2,3}[-])?([d]{2,3}[-])?([d]{7,8})$/;//常用的电话   
  460.   
  461. var regEmail=/^([a-zA-Z0-9_-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([a-zA-Z0-9-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$/;//Email   
  462. var regNum=/^[1-9][d]*((.?[d])[d]*)?$/;//数字   
  463. var regInt=/^-?[1-9][d]*$/;//整数   
  464. //^[-+]?[0-9]+[.]?[0-9]*([eE][-+]?[0-9]+)?$ 数字   
  465. //^[-+]?d+(.d+)?$    
  466.   
  467. //判断数字   
  468. //返回值:正确:true 错误:false   
  469. function isNum(num){   
  470.     flag=regNum.test(num);   
  471.     if(flag) return true;   
  472.     return false;   
  473. }   
  474.   
  475. //整数的确认;   
  476. //返回值:正确 true 错误 false   
  477. function isInt(theInt){   
  478.     var flag=regInt.test(theInt);   
  479.     if(flag) return true;   
  480.     return false;   
  481. }   
  482.   
  483. //判断Email地址的的合理性   
  484. //返回值:正确:true 错误:false   
  485. function isEmail(eStr){   
  486.     flag=regEmail.test(eStr);   
  487.     if(flag) return true;   
  488.     return false;   
  489. }   
  490.   
  491. //获取客户端的当前时间   
  492. var dDate=new Date();   
  493. var dYear=dDate.getFullYear();   
  494. var dMonth=FillNumber(dDate.getMonth()+1);   
  495. var dDay=FillNumber(dDate.getDate());   
  496. var dHours=FillNumber(dDate.getHours());   
  497. var dMinutes=FillNumber(dDate.getMinutes());   
  498. var dSeconds=FillNumber(dDate.getSeconds());   
  499.   
  500. //返回当前时间   
  501. function hms(){   
  502.     hm=FillNumber(new Date().getHours())+":"+FillNumber(new Date().getMinutes())+":"+FillNumber(new Date().getSeconds());   
  503.     return hm;   
  504. }   
  505.   
  506. // 日期的确认 isDate()   
  507. // 返回值:正确 true, 错误 false   
  508. function isDate (theStr) {   
  509.        
  510.     var dArray=theStr.match(regDate);    //得到数组   
  511.     if (dArray==null){   
  512.         return (false);   
  513.     }   
  514.     else {                                //把年份月份日期分别付给变量   
  515.         var y = dArray[1];   
  516.         var m = dArray[2];   
  517.         var d = dArray[3];   
  518.   
  519.         var maxDays = 31;               //最长天数   
  520.   
  521.         if (m>12 || m<1 ) return false;//判断月份是否在1-12之间   
  522.         if (m == 4 || m == 6 || m == 9 || m == 11) maxDays = 30;   
  523.         else if(m == 2) {   
  524.             if ( y % 4 > 0) maxDays = 28;   
  525.             else if ( y % 100 == 0 && y % 400 > 0) maxDays = 28;   
  526.             else maxDays = 29;   
  527.         }   
  528.         if (d>maxDays || d<1){//判断日期是否正确   
  529.             return false;   
  530.         }   
  531.         else {   
  532.             return true;   
  533.         }   
  534.     }   
  535. }   
  536.   
  537. // 时间确认 isTime()   
  538. // 返回值:正确 true, 错误 false   
  539. function isTime (theStr) {   
  540.     var tArray=theStr.match(regTime);   
  541.     if(tArray==nullreturn false;   
  542.     var h=tArray[1];   
  543.     var m=tArray[2];   
  544.     var s=tArray[3];   
  545.     if( s>59 || s<0return false;   
  546.     if(m>59 || m<0return false;   
  547.     if(h>23||h<0return false;   
  548.     return true;   
  549. }   
  550.   
  551.   
  552. //为1位日期数字加0   
  553. function FillNumber(num)   
  554. {   
  555.         switch (num)   
  556.         {   
  557.             case 0 :   
  558.                 ReturnNum="00";   
  559.                 break;   
  560.             case 1 :   
  561.                 ReturnNum="01";   
  562.                 break;   
  563.             case 2 :   
  564.                 ReturnNum="02";   
  565.                 break;   
  566.             case 3 :   
  567.                 ReturnNum="03";   
  568.                 break;   
  569.             case 4 :   
  570.                 ReturnNum="04";   
  571.                 break;   
  572.             case 5 :   
  573.                 ReturnNum="05";   
  574.                 break;   
  575.             case 6 :   
  576.                 ReturnNum="06";   
  577.                 break;   
  578.             case 7 :   
  579.                 ReturnNum="07";   
  580.                 break;   
  581.             case 8 :   
  582.                 ReturnNum="08";   
  583.                 break;   
  584.             case 9 :   
  585.                 ReturnNum="09";   
  586.                 break;   
  587.             default :   
  588.                 ReturnNum=num;   
  589.         }   
  590.        
  591.     return ReturnNum;   
  592. }   
  593.   
  594.   
  595. //判断电话号码的合理性   
  596. //正确: True  错误: False   
  597. function isTel(str){   
  598.     var flag=regTel.test(str);   
  599.     if (flag) return true;   
  600.     return false;   
  601. }   
  602.   
  603. //时间+字符串函数   
  604. //三个参数:interval:决定往哪加:h:加在小时上,m:加在分钟上,S:加在秒钟上。   
  605. //number:决定加多少;time:时间字符串。   
  606. function timeAdd(interval,number,time){   
  607.     //alert(time);   
  608.     var flag=isTime(time);//判断time是否是时间字符串   
  609.   
  610.     if (flag){   
  611.         var tArray=time.match(regTime);   
  612.         var h=tArray[1];   
  613.         var m=tArray[2];   
  614.         var s=tArray[3];   
  615.   
  616.         switch (interval){   
  617.             case "h":   
  618.                 var h=eval(number+"+"+h);   
  619.                 var hCarry=Math.floor(h/24);//floor:返回小于等于其数字参数的最大整数   
  620.                 h=FillNumber(eval(h+"-"+24+"*"+hCarry));   
  621.                 h=h+":"+m+":"+s;   
  622.                 return h;   
  623.                 break;   
  624.             case "m":   
  625.                 var m=eval(m+"+"+number);   
  626.                 var mCarry=Math.floor(m/60);   
  627.                 m=FillNumber(eval(m+"-"+60+"*"+mCarry))   
  628.                    
  629.                 h=eval(h+"+"+mCarry);                            //加上从分钟上的进位。   
  630.                 var hCarry=Math.floor(h/24);   
  631.                 h=FillNumber(eval(h+"-"+24+"*"+hCarry));   
  632.   
  633.                 m=h+":"+m+":"+s;   
  634.                 return m;   
  635.                 break;   
  636.             case "s":   
  637.                 var s=eval(s+"+"+number);   
  638.                 var sCarry=Math.floor(s/60);   
  639.                 s=FillNumber(eval(s+"-"+60+"*"+sCarry));        //得到秒数   
  640.   
  641.                 m=eval(m+"+"+sCarry);                            //加上秒钟进位   
  642.                 var mCarry=Math.floor(m/60);   
  643.                 m=FillNumber(eval(m+"-"+60+"*"+mCarry));        //得到分钟数   
  644.        
  645.                 h=eval(h+"+"+mCarry);                            //加上从分钟上的进位。   
  646.                 var hCarry=Math.floor(h/24);   
  647.                 h=FillNumber(eval(h+"-"+24+"*"+hCarry));        //得到小时数   
  648.                    
  649.                 s=h+":"+m+":"+s;                                //得到最后结果   
  650.                 return s;   
  651.                 break;   
  652.             default:   
  653.                 alert("参数错误,请认真检查");   
  654.         }   
  655.     }   
  656.     else{   
  657.         alert("时间字符串错误");   
  658.     }   
  659. }   
  660.   
  661. //得到字符串的长度*汉字为2个字符   
  662. function strlen(str)   
  663. {   
  664.     len=0;   
  665.     n=str.length;   
  666.     for(i=0;i<n;i++)   
  667.     {   
  668.         if(str.charCodeAt(i)>255){   
  669.             len+=2;   
  670.         }   
  671.         else{   
  672.             len+=1;   
  673.         }   
  674.     }   
  675.     return len;   
  676. }   
  677.   
  678. //返回客户端的屏幕分辩率   
  679. function sizePage(){   
  680.     if ((screen.width == 640) && (screen.height == 480))   
  681.         size = "640 x 480";   
  682. else if ((screen.width == 800) && (screen.height == 600))   
  683.         size = "800 x 600";   
  684. else if ((screen.width == 1024) && (screen.height == 768))   
  685.         size = "1024 x 768";   
  686. else size = "the default 640 x 480";   
  687. //alert("经系统检测,你的屏幕分辨率为 " + size + ",你的显示器适于....");   
  688. return size;   
  689. }   
  690. /*   
  691. 判断指定的内容是否为空,若为空则弹出 警告框   
  692. */    
  693. function isEmpty(theValue, strMsg){    
  694. if(theValue==""){    
  695. alert(strMsg+"不能为空!");    
  696. return true;    
  697. }    
  698. return false;    
  699. }    
  700. /*   
  701. 中文判断函数,允许生僻字用英文“*”代替   
  702. 返回true表示是符合条件,返回false表示不符合   
  703. */    
  704. function isChinese(str){    
  705. var badChar ="ABCDEFGHIJKLMNOPQRSTUVWXYZ";    
  706. badChar += "abcdefghijklmnopqrstuvwxyz";    
  707. badChar += "0123456789";    
  708. badChar += " "+" ";//半角与全角空格    
  709. badChar += "`~!@#$%^&()-_=+]////|:;//"///'<,>?/";//不包含*或.的英文符号    
  710. if(""==str){    
  711. return false;    
  712. }    
  713. for(var i=0;i<str.length;i++){    
  714. var c = str.charAt(i);//字符串str中的字符    
  715. if(badChar.indexOf(c) > -1){    
  716. return false;    
  717. }    
  718. }    
  719. return true;    
  720. }    
  721. /*   
  722. 数字判断函数,返回true表示是全部数字,返回false表示不全部是数字   
  723. */    
  724. function isNumber(str){    
  725. if(""==str){    
  726. return false;    
  727. }    
  728. var reg = ///D/;    
  729. return str.match(reg)==null;    
  730. }    
  731.   
  732. /*   
  733. 判断给定的字符串是否为指定长度的数字   
  734. 是返回true,不是返回false   
  735. */    
  736. function isNumber_Ex(str,len){    
  737. if(""==str){    
  738. return false;    
  739. }    
  740.   
  741. if(str.length!=len){    
  742. return false;    
  743. }    
  744.   
  745. if(!isNumber(str)){    
  746. return false;    
  747. }    
  748. return true;    
  749. }    
  750.   
  751. /*   
  752. money判断函数,允许第一位为"-"来表示欠钱   
  753. 返回true表示格式正确,返回false表示格式错误   
  754. */    
  755. function isMoney(str){    
  756. if(""==str){    
  757. return false;    
  758. }    
  759. for(var i=0;i<str.length;i++){    
  760. var c = str.charAt(i);    
  761. if(i==0){    
  762. if(c!="-"&&(c<"0"||c>"9")){    
  763. return false;    
  764. }else if(c=="-"&&str.length==1){    
  765. return false;    
  766. }    
  767. }else if(c < "0" || c > "9"){    
  768. return false;    
  769. }    
  770. }    
  771. return true;    
  772. }    
  773. /*   
  774. 英文判断函数,返回true表示是全部英文,返回false表示不全部是英文   
  775. */    
  776. function isLetter(str){    
  777. if(""==str){    
  778. return false;    
  779. }    
  780. for(var i=0;i<str.length;i++){    
  781. var c = str.charAt(i);    
  782. if((c<"a"||c>"z")&&(c<"A"||c>"Z")){    
  783. return false;    
  784. }    
  785. }    
  786. return true;    
  787. }    
  788. /*   
  789. 空格判断,当包含有空格返回false,当不包含一个空格返回true   
  790. ""不能被判断   
  791. */    
  792. function notInSpace(str){    
  793. if(""==str){    
  794. return false;    
  795. }    
  796. var badChar =" ";    
  797. badChar += " ";    
  798. for(var i=0;i<str.length;i++){    
  799. var c = str.charAt(i);//字符串str中的字符    
  800. if(badChar.indexOf(c) > -1){    
  801. return false;    
  802. }    
  803. }    
  804. return true;    
  805. }    
  806. /*   
  807. 发票号判断函数,返回true表示是发票号,返回false表示不符合规范   
  808. */    
  809. function isFPH(str){    
  810. if(""==str){    
  811. return false;    
  812. }    
  813. for(var i=0;i<str.length;i++){    
  814. var c = str.charAt(i);    
  815. if((c < "0" || c > "9") && (c!="-")&&(c!=",")){    
  816. return false;    
  817. }    
  818. }    
  819. return true;    
  820. }    
  821. /*   
  822. 电话判断函数,允许“数字”、“;”、“-”、“(”、”)“,   
  823. true表示是电话号码   
  824. */    
  825. function isTelephone(str){    
  826. var trueChar = "()-;1234567890";    
  827. if(""==str){    
  828. return false;    
  829. }    
  830. for(var i=0;i<str.length;i++){    
  831. var c = str.charAt(i);//字符串str中的字符    
  832. if(trueChar.indexOf(c) == -1return false;    
  833. }    
  834. return true;    
  835. }    
  836. /**   
  837. 学制可以为1-7,也可以为3.5这种形式,不能超过7年或者低于1年   
  838. */    
  839. function isXZ(str){    
  840. if(""==str){    
  841. return false;    
  842. }    
  843. var reg = /^[1-6](//.5)?$/;    
  844. var r = str.match(reg);    
  845. if(null!=r){    
  846. return true;    
  847. }else{    
  848. if(str=="7"){    
  849. return true;    
  850. }else{    
  851. return false;    
  852. }    
  853. }    
  854. }    
  855.   
  856. /*   
  857. 判断证书编号是否符合要求,证书编号包含中文、数字、大小写字母、(、)、-   
  858. 是返回true,不是返回false   
  859. */    
  860. function isZSBH(str){    
  861. if(""==str){    
  862. return false;    
  863. }    
  864. for(var i=0;i<str.length;i++){    
  865. var c = str.charAt(i);    
  866. alpha = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";    
  867. alpha += "abcdefghijklmnopqrstuvwxyz";    
  868. alpha += "()-";    
  869. if(!isChinese(c)&&!isNumber(c)&&alpha.indexOf(c)==-1){    
  870. return false;    
  871. }    
  872. }    
  873. return true;    
  874. }    
  875.   
  876. /*   
  877. 身份证判断函数,是返回true,不是返回false   
  878. 15位数字,18位数字或者最后一位为X(大写)   
  879. */    
  880. function isSFZ(str){    
  881. if(""==str){    
  882. return false;    
  883. }    
  884. if(str.length!=15&&str.length!=18){//身份证长度不正确    
  885. return false;    
  886. }    
  887. if(str.length==15){    
  888. if(!isNumber(str)){    
  889. return false;    
  890. }    
  891. }else{    
  892. str1 = str.substring(0,17);    
  893. str2 = str.substring(17,18);    
  894. alpha = "X0123456789";    
  895. if(!isNumber(str1)||alpha.indexOf(str2)==-1){    
  896. return false;    
  897. }    
  898. }    
  899. return true;    
  900. }    
  901. /*   
  902. 得到今天的年,月,日   
  903. 调用方法:today = new getToday(); 则today.year为今天的年以此类推   
  904. */    
  905. function getToday(){    
  906. this.now = new Date();    
  907. this.year = this.now.getFullYear();    
  908. this.month = this.now.getMonth();    
  909. this.day = this.now.getDate();    
  910. }   
原创粉丝点击