formvalidatorregex.js 3.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. var regexEnum =
  2. {
  3. intege:"^-?[1-9]\\d*$", //整数
  4. intege1:"^[1-9]\\d*$", //正整数
  5. intege2:"^-[1-9]\\d*$", //负整数
  6. num:"^([+-]?)\\d*\\.?\\d+$", //数字
  7. num1:"^[1-9]\\d*|0$", //正数(正整数 + 0)
  8. num2:"^-[1-9]\\d*|0$", //负数(负整数 + 0)
  9. decmal:"^([+-]?)\\d*\\.\\d+$", //浮点数
  10. decmal1:"^[1-9]\\d*.\\d*|0.\\d*[1-9]\\d*$",   //正浮点数
  11. decmal2:"^-([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*)$",  //负浮点数
  12. decmal3:"^-?([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*|0?.0+|0)$",  //浮点数
  13. decmal4:"^[1-9]\\d*.\\d*|0.\\d*[1-9]\\d*|0?.0+|0$",   //非负浮点数(正浮点数 + 0)
  14. decmal5:"^(-([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*))|0?.0+|0$",  //非正浮点数(负浮点数 + 0)
  15. email:"^\\w+((-\\w+)|(\\.\\w+))*\\@[A-Za-z0-9]+((\\.|-)[A-Za-z0-9]+)*\\.[A-Za-z0-9]+$", //邮件
  16. color:"^[a-fA-F0-9]{6}$", //颜色
  17. url:"^http[s]?:\\/\\/([\\w-]+\\.)+[\\w-]+([\\w-./?%&=]*)?$", //url
  18. chinese:"^[\\u4E00-\\u9FA5\\uF900-\\uFA2D]+$", //仅中文
  19. ascii:"^[\\x00-\\xFF]+$", //仅ACSII字符
  20. zipcode:"^\\d{6}$", //邮编
  21. mobile:"^(1)[0-9]{10}$", //手机
  22. ip4:"^(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)\\.(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)\\.(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)\\.(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)$", //ip地址
  23. notempty:"^\\S+$", //非空
  24. picture:"(.*)\\.(jpg|bmp|gif|ico|pcx|jpeg|tif|png|raw|tga)$", //图片
  25. rar:"(.*)\\.(rar|zip|7zip|tgz)$", //压缩文件
  26. date:"^\\d{4}(\\-|\\/|\.)\\d{1,2}\\1\\d{1,2}$", //日期
  27. qq:"^[1-9]*[1-9][0-9]*$", //QQ号码
  28. tel:"^(([0\\+]\\d{2,3}-)?(0\\d{2,3})-)?(\\d{7,8})(-(\\d{3,}))?$", //电话号码的函数(包括验证国内区号,国际区号,分机号)
  29. username:"^\\w+$", //用来用户注册。匹配由数字、26个英文字母或者下划线组成的字符串
  30. letter:"^[A-Za-z]+$", //字母
  31. letter_u:"^[A-Z]+$", //大写字母
  32. letter_l:"^[a-z]+$", //小写字母
  33. idcard:"^[1-9]([0-9]{14}|[0-9]{17})$", //身份证
  34. ps_username:"^[\\u4E00-\\u9FA5\\uF900-\\uFA2D_\\w]+$", //中文、字母、数字 _
  35. password:"^[A-Za-z0-9-_()]+$"//密码
  36. }
  37. function isCardID(sId){
  38. var iSum=0 ;
  39. var info="" ;
  40. if(!/^\d{17}(\d|x)$/i.test(sId)) return "你输入的身份证长度或格式错误";
  41. sId=sId.replace(/x$/i,"a");
  42. if(aCity[parseInt(sId.substr(0,2))]==null) return "你的身份证地区非法";
  43. sBirthday=sId.substr(6,4)+"-"+Number(sId.substr(10,2))+"-"+Number(sId.substr(12,2));
  44. var d=new Date(sBirthday.replace(/-/g,"/")) ;
  45. if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))return "身份证上的出生日期非法";
  46. for(var i = 17;i>=0;i --) iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11) ;
  47. if(iSum%11!=1) return "你输入的身份证号非法";
  48. return true;//aCity[parseInt(sId.substr(0,2))]+","+sBirthday+","+(sId.substr(16,1)%2?"男":"女")
  49. }
  50. //短时间,形如 (13:04:06)
  51. function isTime(str)
  52. {
  53. var a = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);
  54. if (a == null) {return false}
  55. if (a[1]>24 || a[3]>60 || a[4]>60)
  56. {
  57. return false;
  58. }
  59. return true;
  60. }
  61. //短日期,形如 (2003-12-05)
  62. function isDate(str)
  63. {
  64. var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
  65. if(r==null)return false;
  66. var d= new Date(r[1], r[3]-1, r[4]);
  67. return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
  68. }
  69. //长时间,形如 (2003-12-05 13:04:06)
  70. function isDateTime(str)
  71. {
  72. var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
  73. var r = str.match(reg);
  74. if(r==null) return false;
  75. var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);
  76. 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]);
  77. }