验证
var r = /^\+?[1-9][0-9]*$/; //判断是否为正整数 r.test(str); 或者: function isNumber(value) { //验证是否为数字 var patrn = /^(-)?\d+(\.\d+)?$/; if (patrn.exec(value) == null || value == "") { return false } else { return true } } var reg = new RegExp("BPM/", "g");//g,表示全部替换。 var reg1 = new RegExp(",", "g");//g,表示全部替换。 var RegEx = { /** * 验证邮箱格式 * @param {} str 要验证的字符串 * @returns {} true验证通过,是邮箱格式;false验证不通过 */ CheckEmail: function (str) { var ePattern = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/; return ePattern.test(str); }, /** * 检查手机号 * @param {} str * @returns {} */ CheckPhoneNumber: function (str) { var mPattern = /^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(17[0-9])|(18[0-9]))\d{8}$/; return mPattern.test(str); }, /** * 检查身份证号 * @param {} str * @returns {} */ CheckIDNumber: function (str) { var cP = /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/; return cP.test(str); }, /** * 校验是否为正整数 * @param {} str * @returns {} */ CheckPositiveInteger:function(str) { var posPattern = /^\d+$/; return posPattern.test(str); } } ////////////////////////////////////////////////// //purpose: 邮箱格式验证 // //author: lucl // //date:2014-02-10 // //返回:如果通过验证返回true,否则返回false // ////////////////////////////////////////////////// function isEmail(val) { var patrn = /^[-_A-Za-z0-9]+@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/; if (patrn.test(val)) { return true; } return false; } ////////////////////////////////////////////////// //purpose: 检查固定电话格式xxx-xxxxxxxx // //author: lucl // //date:2014-02-10 // //返回:如果通过验证返回true,否则返回false // ////////////////////////////////////////////////// function isPhone(val) { //patrn = /^((\(\d{3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}$/; patrn = /^1\d{10}$|^(0\d{2,3}-?|\(0\d{2,3}\))?[1-9]\d{4,7}(-\d{1,8})?$/; if (val == null || val.length == 0) return true; if (!patrn.exec(val)) { return false; } else { return true; } } ////////////////////////////////////////////////// //purpose: 检查手机号码格式 // //author: lucl // //date:2014-02-10 // //返回:如果通过验证返回true,否则返回false // ////////////////////////////////////////////////// function isMobile(val) { if (val == null || val.length == 0) return true; // patrn = /^((\(\d{3}\))|(\d{3}\-))?1\d{10}$/; patrn = /^1\d{10}$|^(0\d{2,3}-?|\(0\d{2,3}\))?[1-9]\d{4,7}(-\d{1,8})?$/; if (!patrn.exec(val)) { return false; } else { return true; } } ////////////////////////////////////////////////// //purpose: 检查邮编格式 // //author: lucl // //date:2014-02-10 // //返回:如果通过验证返回true,否则返回false // ////////////////////////////////////////////////// function isPostalCode(val) { if (val == null || val.length == 0) return true; patrn = /^[0-9]{6}$/; if (!patrn.exec(val)) { return false } else { return true } } ////////////////////////////////////////////////// //purpose: 检查传真格式: // // XXX-12345678或XXXX-1234567或XXXX-12345678// //author: lucl // //date:2014-02-10 // //返回:如果通过验证返回true,否则返回false // ////////////////////////////////////////////////// function isFax(val) { if (val == null || val.length == 0) return true; patrn = /^(\d{3,4}-)?\d{7,8}$/; if (!patrn.exec(val)) { return false; } else { return true; } } ////////////////////////////////////////////////// //purpose: 检查所填内容是否是正整数 // //author: lucl // //date:2014-02-10 // //返回:如果通过验证返回true,否则返回false // ////////////////////////////////////////////////// function isNum(val) { //patrn = /^([1-9]\d*)$|^0$/; patrn = /^\d+$/; //于环宇20151202 if (!patrn.exec(val)) { return false; } else { return true; } } ////////////////////////////////////////////////// //purpose: 检查所填内容是否是金额(4位小数) // //author: lucl // //date:2014-11-20 // //返回:如果通过验证返回true,否则返回false // ////////////////////////////////////////////////// function isMoney(val) { var patrn = /^[0-9]+[\.]{0,1}[0-9]{0,4}$/; if (!patrn.exec(val)) { return false; } else { return true; } } ////////////////////////////////////////////////// //purpose: 将日期字符串转换成目标格式 // //author: lucl // //date:2014-11-20 // //返回:format格式的日期字符串 // ////////////////////////////////////////////////// function formatDate(date, format) { if (!date) return; if (!format) format = "yyyy-MM-dd"; switch (typeof date) { case "string": date = new Date(date.replace(/-/, "/")); break; case "number": date = new Date(date); break; } if (!date instanceof Date) return; var dict = { "yyyy": date.getFullYear(), "M": date.getMonth() + 1, "d": date.getDate(), "H": date.getHours(), "m": date.getMinutes(), "s": date.getSeconds(), "MM": ("" + (date.getMonth() + 101)).substr(1), "dd": ("" + (date.getDate() + 100)).substr(1), "HH": ("" + (date.getHours() + 100)).substr(1), "mm": ("" + (date.getMinutes() + 100)).substr(1), "ss": ("" + (date.getSeconds() + 100)).substr(1) }; return format.replace(/(yyyy|MM?|dd?|HH?|ss?|mm?)/g, function () { return dict[arguments[0]]; }); } ////////////////////////////////////////////////// //purpose: 检查所填内容是否是身份证号 // //author: lucl // //date:2018-09-18 // //返回:如果通过验证返回true,否则返回false // ////////////////////////////////////////////////// /* * 身份证15位编码规则:dddddd yymmdd xx p * dddddd:6位地区编码 * yymmdd: 出生年(两位年)月日,如:910215 * xx: 顺序编码,系统产生,无法确定 * p: 性别,奇数为男,偶数为女 * * 身份证18位编码规则:dddddd yyyymmdd xxx y * dddddd:6位地区编码 * yyyymmdd: 出生年(四位年)月日,如:19910215 * xxx:顺序编码,系统产生,无法确定,奇数为男,偶数为女 * y: 校验码,该位数值可通过前17位计算获得 * * 前17位号码加权因子为 Wi = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 ] * 验证位 Y = [ 1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2 ] * 如果验证码恰好是10,为了保证身份证是十八位,那么第十八位将用X来代替 * 校验位计算公式:Y_P = mod( ∑(Ai×Wi),11 ) * i为身份证号码1...17 位; Y_P为校验码Y所在校验码数组位置 */ function isIdCard(val) { //15位和18位身份证号码的正则表达式 var regIdCard = /^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])$)$/; //如果通过该验证,说明身份证格式正确,但准确性还需计算 if (regIdCard.test(val)) { if (val.length == 18) { var idCardWi = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2); //将前17位加权因子保存在数组里 var idCardY = new Array(1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2); //这是除以11后,可能产生的11位余数、验证码,也保存成数组 var idCardWiSum = 0; //用来保存前17位各自乖以加权因子后的总和 for (var i = 0; i < 17; i++) { idCardWiSum += val.substring(i, i + 1) * idCardWi[i]; } var idCardMod = idCardWiSum % 11;//计算出校验码所在数组的位置 var idCardLast = val.substring(17);//得到最后一位身份证号码 //如果等于2,则说明校验码是10,身份证号码最后一位应该是X if (idCardMod == 2) { if (idCardLast == "X" || idCardLast == "x") { return true; } else { return false; } } else { //用计算出的验证码与最后一位身份证号码匹配,如果一致,说明通过,否则是无效的身份证号码 if (idCardLast == idCardY[idCardMod]) { return true; } else { return false; } } } } else { return false; } }
© 版权声明
文章版权归作者所有,若需转载,请在显著位置标志该文章地址。

浙公网安备 33010602011771号