史上最全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 }
原文地址:https://www.cnblogs.com/Andy-Blog/p/14179028.html