常用的表单验证 发表于 2017-06-01 | 分类于 js | 常用的表单验证 整理了一些常用的表单验证 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159/** * 定义一个可静态调用方法的js类 * */function ChkUtil() {};//校验是否全是数字 ChkUtil.isDigit = function(str) { var patrn = /^\d+$/; return patrn.test(str);};//校验是否是整数ChkUtil.isInteger = function(str) { var patrn = /^([+-]?)(\d+)$/; return patrn.test(str);};//校验是否为正整数ChkUtil.isPlusInteger = function(str) { var patrn = /^[0-9]*[1-9][0-9]*$/; return patrn.test(str);};//校验是否为负整数ChkUtil.isMinusInteger = function(str) { var patrn = /^-(\d+)$/; return patrn.test(str);};//校验是否为浮点数 ChkUtil.isFloat = function(str) { var patrn = /^([+-]?)\d*\.\d+$/; return patrn.test(str);};//校验是否为正浮点数 ChkUtil.isPlusFloat = function(str) { var patrn = /^(?:[1-9][0-9]*\.[0-9]+|0\.(?!0+$)[0-9]+)$/; return patrn.test(str);};//校验是否为负浮点数 ChkUtil.isMinusFloat = function(str) { var patrn = /^-\d*\.\d+$/; return patrn.test(str);};//校验是否仅中文ChkUtil.isChinese = function(str) { var patrn = /[\u4E00-\u9FA5\uF900-\uFA2D]+$/; return patrn.test(str);};//校验是否仅ACSII字符ChkUtil.isAcsii = function(str) { var patrn = /^[\x00-\xFF]+$/; return patrn.test(str);};//校验手机号码ChkUtil.isMobile = function(str) { var patrn = /^(1(3|5|7|8)[0-9]|15[0|3|6|7|8|9]|18[7|8|9])\d{8}$/; return patrn.test(str);};//校验电话号码ChkUtil.isPhone = function(str) { var patrn = /^(0[\d]{2,3}-)?\d{6,8}(-\d{3,4})?$/; return patrn.test(str);};//校验URL地址ChkUtil.isUrl = function(str) { var patrn = /^http[s]?:\/\/[\w-]+(\.[\w-]+)+([\w-\.\/?%&=]*)?$/; return patrn.test(str);};//校验电邮地址ChkUtil.isEmail = function(str) { var patrn = /^[\w-]+@[\w-]+(\.[\w-]+)+$/; return patrn.test(str);};//校验邮编ChkUtil.isZipCode = function(str) { var patrn = /^\d{6}$/; return patrn.test(str);};//校验合法时间ChkUtil.isDate = function(str) { if (!/\d{4}(\.|\/|\-)\d{1,2}(\.|\/|\-)\d{1,2}/.test(str)) { return false; } var r = str.match(/\d{1,4}/g); if (r == null) { return false; }; var d = new Date(r[0], r[1] - 1, r[2]); return (d.getFullYear() == r[0] && (d.getMonth() + 1) == r[1] && d.getDate() == r[2]);};//校验字符串:只能输入6-20个字母、数字、下划线(常用手校验用户名和密码)ChkUtil.isString6_20 = function(str) { var patrn = /^(\w){6,20}$/; return patrn.test(str);};//校验字符串组合:只能输入6-20个字母+数字或下划线组合(常用手校验用户名和密码)ChkUtil.isStringA6_20 = function(str) { var patrn = /^(([a-z]+[0-9]+)|([0-9]+[a-z]+))[a-z0-9]*$/i; /*用户名正则*/ return patrn.test(str);};//身份证格式ChkUtil.isCreditCard = function(str) { var patrn = /^[1-9]{1}[0-9]{14}$|^[1-9]{1}[0-9]{16}([0-9]|[xX])$/; return patrn.test(str);};//是否为空ChkUtil.isNulCustl = function(str) { if (str == null || str == '') { return true; } else if (typeof(str) != "undefined") { return true; } else if (typeof(x) != "object") { return true; } else { return false; }};//身份证格式ChkUtil.isCardID = function(sId){ var iSum=0 ; var info="" ; if(!/^\d{17}(\d|x)$/i.test(sId)) return "你输入的身份证长度或格式错误"; sId=sId.replace(/x$/i,"a"); sBirthday=sId.substr(6,4)+"-"+Number(sId.substr(10,2))+"-"+Number(sId.substr(12,2)); var d=new Date(sBirthday.replace(/-/g,"/")) ; if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))return "身份证上的出生日期非法"; for(var i = 17;i>=0;i --) iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11) ; if(iSum%11!=1) return "你输入的身份证号非法"; return true;} //短时间,形如 (13:04:06)ChkUtil.isTime = function(str) { var a = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/); if (a == null) { return false } if (a[1] > 24 || a[3] > 60 || a[4] > 60) { return false; } return true;}//短日期,形如 (2003-12-05)// ChkUtil.isDate = function(str) {// var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);// if (r == null) return false;// var d = new Date(r[1], r[3] - 1, r[4]);// return (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[3] && d.getDate() == r[4]);// }//长时间,形如 (2003-12-05 13:04:06)ChkUtil.isDateTime = function(str) { var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/; var r = str.match(reg); if (r == null) return false; var d = new Date(r[1], r[3] - 1, r[4], r[5], r[6], r[7]); 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]);} 一颗稻草的价值,到底是多少呢?想知道的话,就订阅吧!