zoukankan      html  css  js  c++  java
  • 史上最全JS表单验证封装类

      1 /*!
      2  * 数据验证工具类
      3  * 2016-12-30
      4  * wangbt
      5  */
      6 
      7 /**
      8  * 相关认证的正则表达式
      9  */
     10 var verificatRet = {
     11     // 身份证
     12     identityCard: /^[1-9]d{7}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{3}$|^[1-9]d{5}[1-9]d{3}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{3}([0-9]|X)$/,
     13     //identityCard : /^[1-9]d{5}[1-9]d{3}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{3}d|[X]{1}$/,
     14     // 手机号
     15     mobile: /^1d{10}$/,
     16     // 电子邮箱
     17     email: /^w+((-w+)|(.w+))*@[A-Za-z0-9]+((.|-)[A-Za-z0-9]+)*.[A-Za-z0-9]+$/,
     18     // 座机
     19     phone: /^0d{2,3}-?d{7,8}$/,
     20     // 数字
     21     number: /^[0-9]*$/,
     22     // 非零正整数
     23     NZ_number: /^+?[1-9][0-9]*$/,
     24     // 非零负整数
     25     _NZ_number: /^-[1-9][0-9]*$/,
     26     // 非负整数(正整数 + 0)
     27     _noIntNumber: /^d+$/,
     28     // 非正整数(负整数 + 0)
     29     noIntNumber: /^((-d+)|(0+))$/,
     30     // 整数
     31     intNumber: /^-?d+$/,
     32     // 正浮点小数
     33     doubleNumber: /^(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*))$/,
     34     // 非正浮点小数(负浮点小数 + 0)
     35     _noDoubleNum: /^((-d+(.d+)?)|(0+(.0+)?))$/,
     36     // 负浮点小数
     37     _doubleNumber: /^(-(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*)))$/,
     38     // 浮点数
     39     double: /^(-?d+)(.d+)?$/,
     40     // 非0正整数
     41     GreaterZero: /^[1-9]d*$/,
     42     //银行卡号
     43     BankCardNum: /^d{16}|d{19}$/,
     44     //日期
     45     Date: /^[1-9]d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/,
     46     DateTime:/^[1-9]d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])s+(20|21|22|23|[0-1]d):[0-5]d:[0-5]d$/,
     47 };
     48 
     49 /**
     50  * 验证工具类
     51  */
     52 var verificat = {
     53     /** 非空验证 */
     54     isNotNull: function (source) {
     55         if (source != null && source != undefined && source != 'undefined' && source != "")
     56             return true;
     57         return false;
     58     },
     59     /**去空格后非空验证*/
     60     isNotNullTrim: function (source) {
     61         if (source != null && source != undefined && source != 'undefined' && $.trim(source) != "")
     62             return true;
     63         return false;
     64     },
     65     /**
     66      * 验证字符串最大长度【注:一个汉字的长度为2】
     67      * @param source 字符串
     68      * @param num 指定的长度
     69      */
     70     textMaxVer: function (source, num) {
     71         if (source.replace(/[^x00-xff]/g, "**").length <= num)
     72             return true;
     73         return false;
     74     },
     75     /**
     76      * 验证字符串最小长度【注:一个汉字的长度为2】
     77      * @param source 字符串
     78      * @param num 指定的长度
     79      */
     80     textMinVer: function (source, num) {
     81         if (source.replace(/[^x00-xff]/g, "**").length >= num)
     82             return true;
     83         return false;
     84     },
     85     /** 身份证验证 */
     86     identityVer: function (identity) {
     87         if (identity != null && identity != "" && verificatRet.identityCard.test(identity)) {
     88             return true;
     89         }
     90         return false;
     91     },
     92     /** 手机号验证 */
     93     mobileVer: function (mobile) {
     94         if (mobile != null && mobile != "" && verificatRet.mobile.test(mobile)) {
     95             return true;
     96         }
     97         return false;
     98     },
     99     /** 邮箱验证 */
    100     emailVer: function (email) {
    101         if (email != null && email != "" && verificatRet.email.test(email)) {
    102             return true;
    103         }
    104         return false;
    105     },
    106     /** 电话验证 */
    107     phoneVer: function (phone) {
    108         if (phone != null && phone != "" && verificatRet.phone.test(mobile)) {
    109             return true;
    110         }
    111         return false;
    112     },
    113     /** 验证是否为正整数 */
    114     numberVer: function (num) {
    115         if (num != "") {
    116             return verificatRet.number.test(num);
    117         } else {
    118             return false;
    119         }
    120     },
    121     /** 验证非零正整数 */
    122     NZ_numberVer: function (num) {
    123         if (num != "") {
    124             return verificatRet.NZ_number.test(num);
    125         } else {
    126             return false;
    127         }
    128     },
    129     /** 验证非零负整数 */
    130     _NZ_numberVer: function (num) {
    131         if (num != "") {
    132             return verificatRet._NZ_number.test(num);
    133         } else {
    134             return false;
    135         }
    136     },
    137     /** 验证非负整数(正整数 + 0) */
    138     _noIntNumberVer: function (num) {
    139         if (num != "") {
    140             return verificatRet._noIntNumber.test(num);
    141         } else {
    142             return false;
    143         }
    144     },
    145     /** 验证非正整数(负整数 + 0) */
    146     noIntNumberVer: function (num) {
    147         if (num != "") {
    148             return verificatRet.noIntNumber.test(num);
    149         } else {
    150             return false;
    151         }
    152     },
    153     /** 验证整数 */
    154     intNumberVer: function (num) {
    155         if (num != "") {
    156             return verificatRet.intNumber.test(num);
    157         } else {
    158             return false;
    159         }
    160     },
    161     /** 验证正浮点小数 */
    162     doubleNumberVer: function (num) {
    163         if (num != "") {
    164             return verificatRet.doubleNumber.test(num);
    165         } else {
    166             return false;
    167         }
    168     },
    169     /** 验证非正浮点小数(负浮点小数 + 0) */
    170     _noDoubleNumVer: function (num) {
    171         if (num != "") {
    172             return verificatRet._noDoubleNum.test(num);
    173         } else {
    174             return false;
    175         }
    176     },
    177     /** 验证负浮点小数 */
    178     _doubleNumberVer: function (num) {
    179         if (num != "") {
    180             return verificatRet._doubleNumber.test(num);
    181         } else {
    182             return false;
    183         }
    184     },
    185     /** 验证浮点小数 */
    186     doubleVer: function (num) {
    187         if (num != "") {
    188             return verificatRet.double.test(num);
    189         } else {
    190             return false;
    191         }
    192     },
    193     /***大于0正整数*/
    194     GreaterZeroVar: function (num) {
    195         if (num != "") {
    196             return verificatRet.GreaterZero.test(num);
    197         } else {
    198             return false;
    199         }
    200     },
    201     /***银行卡号*/
    202     BankCardNumVar: function (num) {
    203         if (num != "") {
    204             return verificatRet.BankCardNum.test(num);
    205         } else {
    206             return false;
    207         }
    208     },
    209     /**验证日期:格式:2019-01-23**/
    210     Date: function (num) {
    211         if (num != "") {
    212             return verificatRet.Date.test(num);
    213         } else {
    214             return false;
    215         }
    216     },
    217     /**验证日期:格式:2019-01-23 12:12:12**/
    218     DateTime: function (num) {
    219         if (num != "") {
    220             return verificatRet.DateTime.test(num);
    221         } else {
    222             return false;
    223         }
    224     }
    225 }
  • 相关阅读:
    简单的使用rabbitmq的例子
    装饰者模式
    Zinterstore 命令
    策略模式
    简单工厂模式
    getFields()与getDeclaredFields()区别
    解决Jetty下EL版本冲突的问题
    网站ssl配置
    webservice 项目 配置wsdl
    js前端clone的要诀
  • 原文地址:https://www.cnblogs.com/Andy-Blog/p/14179028.html
Copyright © 2011-2022 走看看