• Js通用验证


      1 //-----------------------------------------------------js 验证封装 zhy2014-07-10----------------------------------------------//
      2 
      3 /**  
      4  * 验证整数
      5  * @param str 需验证字符
      6  */
      7 function isInt(str) {
      8     if (!/^(-|+)?d+$/.test(str)) {
      9         return false;
     10     }
     11     return true;
     12 }
     13 
     14 /**  
     15  * 大于0正整数
     16  * @param str 需验证字符
     17  */
     18 function isIntZ(str) {
     19     if (!/^d+$/.test(str)) {
     20         return false;
     21     }
     22     return true;
     23 }
     24 
     25 /**  
     26  * 负整数的验证
     27  * @param str 需验证字符
     28  */
     29 function isIntF(str) {
     30     if (!/^-d+$/.test(str)) {
     31         return false;
     32     }
     33     return true;
     34 }
     35 
     36 /**  
     37  * 验证浮点数
     38  * @param str 需验证字符
     39  */
     40 function isDouble(str) {
     41     var reg = /^([+-]?)d*.d+$/;
     42     return reg.test(str);
     43 };
     44 
     45 /**  
     46  * 验证正浮点数
     47  * @param str 需验证字符
     48  */
     49 function isDoubleZ(str) {
     50     var reg = /^([+]?)d*.d+$/;
     51     return reg.test(str);
     52 };
     53 /**  
     54  * 验证负浮点数
     55  * @param str 需验证字符
     56  */
     57 function isDoubleF(str) {
     58     var reg = /^-d*.d+$/;
     59     return reg.test(str);
     60 };
     61 
     62 /**  
     63  * 字符串非空验证
     64  * @param str 需验证字符
     65  */
     66 function strIsNull(str) {
     67     if (str == null || strTrim(str) == "") {
     68         return false;
     69     }
     70     return true;
     71 }
     72 
     73 /**  
     74  * 验证是否为中文
     75  * @param str 需验证字符
     76  */
     77 function isChinese(str) {
     78     var reg = /[u4E00-u9FA5uF900-uFA2D]+$/;
     79     return reg.test(str);
     80 };
     81 
     82 /**  
     83  * 验证短时间 如(13:04:06)
     84  * @param str 需验证字符
     85  */
     86 function isShortTime(str) {
     87     var result = str.match(/^(d{1,2})(:)(d{1,2})2(d{1,2})$/);
     88     //输入的参数时间格式不正确
     89     if ((result == null) || (result[1] > 24 || result[3] > 60 || result[4] > 60)) {
     90         return false;
     91     }
     92     return true;
     93 }
     94 
     95 /**  
     96  * 验证短日期 如(2003-12-05)
     97  * @param str 需验证字符
     98  */
     99 function strShortDate(str) {
    100     var r = str.match(/^(d{1,4})(-|/)(d{1,2})2(d{1,2})$/);
    101     if ((r == null) || (r[3] > 12 || r[4] > 31)) {
    102         //时间格式不正确
    103         return false;
    104     }
    105     //验证是不是当前时间
    106     //var d=new Date(r[1],r[3]-1,r[4]);
    107     //return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
    108     return true;
    109 }
    110 
    111 /**  
    112  * 验证时间不包含毫秒 如(2003-12-05 13:04:06)
    113  * @param str 需验证字符
    114  */
    115 function strDateTime(str) {
    116     var r = str.match(/^(d{1,4})(-|/)(d{1,2})2(d{1,2}) (d{1,2})(:)(d{1,2})6(d{1,2})$/);
    117     if ((r == null) || (r[3] > 12 || r[4] > 31 || r[5] > 24 || r[7] > 60 || r[8] > 60)) {
    118         return false;
    119     }
    120     //验证是不是当前时间
    121     //var d = new Date(r[1], r[3] - 1, r[4], r[5], r[7], r[8]);
    122     //return (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[3] && d.getDate() == r[4] && d.getHours() == r[5] && d.getMinutes() == r[7] && d.getSeconds() == r[8]);
    123     return true;
    124 }
    125 
    126 /**  
    127  * 转换字节
    128  * @param str 字符串
    129  * @param len 最大长度
    130  */
    131 function strMaxLen(str, len) {
    132     if (str != null && strTrim(str) != "") {
    133         if (strTrim(str).replace(/[^x00-xff]/g, "xx").length <= len) {
    134             return true;
    135         }
    136         return false;
    137     }
    138     return false;
    139 }
    140 
    141 /**  
    142  * 转换字节
    143  * @param str 字符串
    144  * @param len 最小长度
    145  */
    146 function strMinLen(str, len) {
    147     if (str != null && strTrim(str) != "") {
    148         if (strTrim(str).replace(/[^x00-xff]/g, "xx").length >= len) {
    149             return true;
    150         }
    151         return false;
    152     }
    153     return false;
    154 }
    155 
    156 /**
    157  * 返回当前输入字数
    158  * @param str 字符串
    159  * @param len 最大长度
    160  */
    161 function strNumberLen(str, len) {
    162     if (str != null && strTrim(str) != "") {
    163         return strTrim(str).replace(/[^x00-xff]/g, "xx").length/2;
    164     }
    165     return 0;
    166 }
    167 
    168 /**  
    169  * 截取固定长度子字符串从0开始
    170  * @param sSource 字符串
    171  * @param iLen 截取长度
    172  */
    173 function getInterceptedStr(sSource, iLen) {
    174     if (sSource.replace(/[^x00-xff]/g, "xx").length <= iLen) {
    175         return sSource;
    176     }
    177     var str = "";
    178     var l = 0;
    179     var schar;
    180     for (var i = 0; schar = sSource.charAt(i) ; i++) {
    181         str += schar;
    182         l += (schar.match(/[^x00-xff]/) != null ? 2 : 1);
    183         if (l >= iLen) {
    184             break;
    185         }
    186     }
    187     return str;
    188 }
    189 
    190 /**  
    191  * 复选框全选/全不选
    192  * @param obj 当前checkbox对象
    193  */
    194 function chkSelected(obj) {
    195     var elarr = document.getElementsByTagName("input");
    196     for (var i = 0; i < elarr.length; i++) {
    197         if (elarr[i].type == "checkbox") {
    198             elarr[i].checked = obj.checked;
    199         }
    200     }
    201 }
    202 
    203 /**  
    204  * 邮箱格式验证
    205  * @param str Email字符串  
    206  * @return  
    207  */
    208 function isEmail(str) {
    209     return (new RegExp(/^([a-zA-Z0-9]+[_|-|.]?)*[A-Za-z0-9]+@([A-Za-z0-9]+[_|-|.]?)*[A-Za-z0-9]+.[a-zA-Z]{2,3}$/).test(str))
    210 }
    211 
    212 
    213 var Wi = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1];    // 加权因子   
    214 var ValideCode = [1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2];            // 身份证验证位值.10代表X   
    215 
    216 /**  
    217  * 验证身份证号码
    218  * @param idCard 身份证号码 
    219  * @return  
    220  */
    221 function IdCardValidate(idCard) {
    222     idCard = strTrim(idCard.replace(/ /g, ""));               //去掉字符串头尾空格                     
    223     if (idCard.length == 15) {
    224         return isValidityBrithBy15IdCard(idCard);       //进行15位身份证的验证    
    225     } else if (idCard.length == 18) {
    226         var a_idCard = idCard.split("");
    227         // 得到身份证数组   
    228         if (isValidityBrithBy18IdCard(idCard) && isTrueValidateCodeBy18IdCard(a_idCard)) {   //进行18位身份证的基本验证和第18位的验证
    229             return true;
    230         } else {
    231             return false;
    232         }
    233     } else {
    234         return false;
    235     }
    236 }
    237 
    238 /**  
    239  * 判断身份证号码为18位时最后的验证位是否正确  
    240  * @param a_idCard 身份证号码数组  
    241  * @return  
    242  */
    243 function isTrueValidateCodeBy18IdCard(a_idCard) {
    244     var sum = 0;                             // 声明加权求和变量   
    245     if (a_idCard[17].toLowerCase() == 'x') {
    246         a_idCard[17] = 10;                    // 将最后位为x的验证码替换为10方便后续操作   
    247     }
    248     for (var i = 0; i < 17; i++) {
    249         sum += Wi[i] * a_idCard[i];            // 加权求和   
    250     }
    251     valCodePosition = sum % 11;                // 得到验证码所位置   
    252     if (a_idCard[17] == ValideCode[valCodePosition]) {
    253         return true;
    254     } else {
    255         return false;
    256     }
    257 }
    258 
    259 /**  
    260   * 验证18位数身份证号码中的生日是否是有效生日  
    261   * @param idCard 18位书身份证字符串  
    262   * @return  
    263   */
    264 function isValidityBrithBy18IdCard(idCard18) {
    265     var year = idCard18.substring(6, 10);
    266     var month = idCard18.substring(10, 12);
    267     var day = idCard18.substring(12, 14);
    268     var temp_date = new Date(year, parseFloat(month) - 1, parseFloat(day));
    269     // 这里用getFullYear()获取年份,避免千年虫问题   
    270     if (temp_date.getFullYear() != parseFloat(year)
    271           || temp_date.getMonth() != parseFloat(month) - 1
    272           || temp_date.getDate() != parseFloat(day)) {
    273         return false;
    274     } else {
    275         return true;
    276     }
    277 }
    278 
    279 /**  
    280  * 验证15位数身份证号码中的生日是否是有效生日  
    281  * @param idCard15 15位书身份证字符串  
    282  * @return  
    283  */
    284 function isValidityBrithBy15IdCard(idCard15) {
    285     var year = idCard15.substring(6, 8);
    286     var month = idCard15.substring(8, 10);
    287     var day = idCard15.substring(10, 12);
    288     var temp_date = new Date(year, parseFloat(month) - 1, parseFloat(day));
    289     // 对于老身份证中的你年龄则不需考虑千年虫问题而使用getYear()方法   
    290     if (temp_date.getYear() != parseFloat(year)
    291             || temp_date.getMonth() != parseFloat(month) - 1
    292             || temp_date.getDate() != parseFloat(day)) {
    293         return false;
    294     } else {
    295         return true;
    296     }
    297 }
    298 
    299 /**  
    300  * 去除前后空格
    301  * @param str 字符串
    302  * @return  
    303  */
    304 function strTrim(str) {
    305     return str.replace(/(^s*)|(s*$)/g, "");
    306 }
    307 
    308 /**  
    309  * 去除左边空格
    310  * @param str 字符串
    311  * @return  
    312  */
    313 function strTrimL(str) {
    314     return str.replace(/(^[s]*)/g, "");
    315 }
    316 
    317 /**  
    318  * 去除右边空格
    319  * @param str 字符串
    320  * @return  
    321  */
    322 function strTrimR(str) {
    323     return str.replace(/([s]*$)/g, "");
    324 }
    325 
    326 /**  
    327  * 替换字符串中所有空格
    328  * @param str 字符串
    329  * @return  
    330  */
    331 function replaceSpace(str) {
    332     return str.replace(/s/g, "");
    333 }
    334 
    335 /**  
    336  * 验证IP地址
    337  * @param str 需验证字符
    338  * @return  
    339  */
    340 function isIP(ip) {
    341     var reSpaceCheck = /^(d+).(d+).(d+).(d+)$/;
    342     if (reSpaceCheck.test(ip)) {
    343         ip.match(reSpaceCheck);
    344         if (RegExp.$1 <= 255 && RegExp.$1 >= 0
    345           && RegExp.$2 <= 255 && RegExp.$2 >= 0
    346           && RegExp.$3 <= 255 && RegExp.$3 >= 0
    347           && RegExp.$4 <= 255 && RegExp.$4 >= 0) {
    348             return true;
    349         } else {
    350             return false;
    351         }
    352     } else {
    353         return false;
    354     }
    355 }
    356 /**  
    357  * 验证IP地址
    358  * @param str 需验证字符
    359  * @return  
    360  */
    361 function isIP2(ip) {
    362     var re = /^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$/
    363     return re.test(ip);
    364 }
    365 
    366 /**  
    367  * 固定电话验证 区号与电话之间必须“-”隔开
    368  * @param str 需验证字符
    369  * @return  
    370  */
    371 function isTelephone(str) {
    372     var reg = /(^(0d{2})-(d{8})$)|(^(0d{3})-(d{7})$)|(^(0d{2})-(d{8})-(d+)$)|(^(0d{3})-(d{7})-(d+)$)/;
    373     return reg.test(str);
    374 }
    375 
    376 /**  
    377  * 手机号验证
    378  * @param str 需验证字符
    379  * @return  
    380  */
    381 function isPhone(str) {
    382     var reg = /^(((1[3|4|5|7|8]))+d{9})$/;
    383     return reg.test(str);
    384 }
    385 
    386 //电话格式验证(包含手机号,电话号,400电话)  zjr
    387 function iSShouJiOrDianHua(val) {
    388     var rule = /^[1][3|5|8][0-9]{9}$/.test(val);
    389     var rule1 = /^[0][1-9][0-9]{1,2}[-]?[1-9][0-9]{6,7}$/.test(val);
    390     var rule2 = /^[1-9][0-9]{6,7}[-][0-9]{1,10}$/.test(val);
    391     var rule3 = /^[0][1-9][0-9]{1,2}[-]?[1-9][0-9]{6,7}[-][0-9]{1,10}$/.test(val);
    392     var rule4 = /^(400|800)[-]?(([0-9]{3}[-]?[0-9]{4})|([0-9]{4}[-]?[0-9]{3}))$/.test(val);
    393     return (rule || rule1 || rule2 || rule3)
    394 }
    395 
    396 //电话格式验证(包含电话号,400电话)  zjr
    397 function iSDianHua(val) {
    398     var rule1 = /^[0][1-9][0-9]{1,2}[-]?[1-9][0-9]{6,7}$/.test(val);
    399     var rule2 = /^[1-9][0-9]{6,7}[-][0-9]{1,10}$/.test(val);
    400     var rule3 = /^[0][1-9][0-9]{1,2}[-]?[1-9][0-9]{6,7}[-][0-9]{1,10}$/.test(val);
    401     var rule4 = /^(400|800)[-]?(([0-9]{3}[-]?[0-9]{4})|([0-9]{4}[-]?[0-9]{3}))$/.test(val);
    402     return (rule1 || rule2 || rule3)
    403 }
    404 
    405 /**  
    406  * 验证url
    407  * @param str 需验证字符
    408  * @return  
    409  */
    410 function isUrl(str) {
    411     var reg = /^http[s]?://[w-]+(.[w-]+)+([w-./?%&=]*)?$/;
    412     return reg.test(str);
    413 };
    414 
    415 /**  
    416  * 验证邮政编码
    417  * @param str 需验证字符
    418  * @return  
    419  */
    420 function isZipCode(str) {
    421     var reg = /^[0-9]{6}$/;
    422     return reg.test(str);
    423 }
    424 
    425 /**  
    426  * 6-20个字母、数字、下划线(常用于验证用户名密码)
    427  * @param str 需验证字符
    428  * @return  
    429  */
    430 function userNameOrPwdStr(str) {
    431     var reg = /^(w){6,18}$/;
    432     return reg.test(str);
    433 }
    434 
    435 /**  
    436  * 1-20个字母、数字、下划线(常用于验证用户名密码)
    437  * @param str 需验证字符
    438  * @return  
    439  */
    440 function userNameStr(str) {
    441     var reg = /^(w){1,20}$/;
    442     return reg.test(str);
    443 }
    444 /**  
    445  * 修改提示信息
    446  * @param tagId 标签id
    447  * @param str 需验证字符
    448  * @return  
    449  */
    450 function updatePointOut(tagId, str) {
    451     $("#" + tagId).html(str);
    452 }
    453 
    454 //验证文本内容为空时 border变为红色 参数为文本框对象
    455 function IsEmpty(info) {
    456     var result = true;
    457     if ($.trim(info.val())=="") {
    458         info.css({ "border": "1px solid red" });
    459         result=false;
    460     }
    461     return result;
    462 }
    463 
    464 //验证文本内容为空时 border变为红色 参数为文本框对象
    465 //info 文本框对象 wenben 文本框的默认值 cuowutishi 给出错误提示
    466 function IsEmpty(info,wenben) {
    467     var result = true;
    468     if ($.trim(info.val()) == "" || $.trim(info.val())==wenben) {
    469         info.css({ "border": "1px solid red" });
    470         result = false;
    471     }
    472     return result;
    473 }
    474 
    475 //验证文本内容为空时 border变为红色 参数为文本框对象
    476 //info 文本框对象 wenben 文本框的默认值 cuowutishi 给出错误提示
    477 function IsEmpty(info, wenben, cuowutishi) {
    478     var result = true;
    479     if ($.trim(info.val()) == "" || $.trim(info.val()) == wenben||$.trim(info.val()) == cuowutishi) {
    480         info.css({ "border": "1px solid red" });
    481         result = false;
    482     }
    483     return result;
    484 }
    485 
    486 
    487 //电话或手机
    488 function isPhoneOrTel(val) {
    489     var result = /^[1-9][0-9]{6,7}$/.test(val);
    490     var result1 = /^[0][1-9][0-9]{1,2}[-]?[1-9][0-9]{6,7}$/.test(val);
    491     var result2 = /^[1-9][0-9]{6,7}[-][0-9]{1,10}$/.test(val);
    492     var result3 = /^[0][1-9][0-9]{1,2}[-]?[1-9][0-9]{6,7}[-][0-9]{1,10}$/.test(val);
    493     var result4 = /^[4,8][0][0][-]?(([0-9]{3}[-]?[0-9]{4})|([0-9]{4}[-]?[0-9]{3}))$/.test(val);
    494     var result5 = /^1(([3,8][0-9])|([5]([0-3]|[5-9]))|([4][5,7])|([7][6]))[0-9]{8}$/.test(val);
    495     return (result || result1 || result2 || result3 || result4 || result5)
    496 }
    497 
    498 //字符串长度范围(包含临界值)
    499 //说明:可为空min=0,不为空min=1
    500 function strLength(val, min, max) {
    501     if (val.length < min || val.length > max) {
    502         return false;
    503     }
    504     return true;
    505 }
    506 
    507 //获取当前时间(yyyy-MM-dd hh:mm:dd格式)
    508 function getDate() {
    509     var date = new Date();
    510     var year = date.getFullYear() + "-";
    511     var month = date.getMonth()+1;
    512     var monthStr = (month > 9 ? "" : "0") + month + "-";
    513     var day = date.getDate();
    514     var dayStr = (day > 9 ? "" : "0") + day + " ";
    515     var hours = date.getHours();
    516     var hoursStr = (hours > 9 ? "" : "0") + hours + ":";
    517     var minutes = date.getMinutes();
    518     var minutesStr = (minutes > 9 ? "" : "0") + minutes + ":";
    519     var seconds = date.getSeconds();
    520     var secondsStr = (seconds > 9 ? "" : "0") + seconds;
    521     return (year + monthStr + dayStr + hoursStr + minutesStr + secondsStr);
    522 }

     如果帮到你了请点赞奥,转载请注明出处

  • 相关阅读:
    C#学习笔记——读写ini文件
    C#学习笔记——控件
    C#学习笔记——SerialPort类
    halcon学习笔记——遍历文件夹与文件选择
    halcon学习笔记——图像的预处理
    C#中创建和使用动态链接库
    C#学习笔记——控件的命名规范
    halcon学习笔记——(1)HDevelop language(语法结构特点)
    C#学习笔记——基础概念回顾
    C#学习笔记——继承窗体
  • 原文地址:https://www.cnblogs.com/zhhying/p/4201429.html
Copyright © 2020-2023  润新知