`
jiahh
  • 浏览: 38598 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

js常用的验证

 
阅读更多
1.//****************VARIABLE DESCRIPTION*******************//  
2.// s=字符串  
3.// label_name = 输入框标识  
4.// allow_len = 允许长度  
5.// objField = 字段对象 (document.formname.field)  
6. 
7.//******************FUNCTION INCLUDED********************//  
8.//trim(s)                                      //删除多余空格         [字符串]  
9.//isEmpty(s)                                   //是否为空            [布尔]  
10.//isNum(s)                                     //是否为数字串(0-9)  [布尔]  
11.//isCharNum(s)                                 //是否字符串(0-9a-zA-Z)        [布尔]  
12.//isInteger(s)                     //正整数  
13.//getTextLen(s)                                //获取字符串长度,汉字按2位计算    [数字]  
14.//chkLen(objField, allow_len, label_name,defaultEmpty)       //校验字符串长度,汉字按2位计算    [布尔]  
15.//chkLenEquals(objField, allow_len, label_name,defaultEmpty) //校验字符串长度是否和要求相同,汉字按2位计算    [布尔]  
16.//chkEmail(objField,label_name,defaultEmpty)                   //校验E_mail       [布尔]  
17.//chkNum(objField,label_name,defaultEmpty)             //校验数字串(0-9)  
18.//chkCharNum(objField,label_name,defaultEmpty)         //校验字符串(0-9a-zA-Z)  
19.//chkPhone(objField,label_name,defaultEmpty)                 //校验电话(0000-0000-0000)  
20.//chkPostCode(objField,label_name,defaultEmpty)            //校验邮编  
21.//chkInteger(objField,label_name,defaultEmpty)         //校验正整数  
22.//chkWhiteSpace(objField,label_name)           //检验空格  
23.//chkFloat(objField,allow_len,dec,label_name,allow_zero,defaultEmpty)      //校验符点数  
24.//(dec=小数点后的位数 allow_zero=是否允许为零)  
25.//isFloatLength (s,label_name,allow_len, dec,floatErrMes)  
26.//isNumeric(s) //检验s是否是数字  
27. 
28.//******************FUNCTION HEADER**********************//  
29. 
30.// BOI, followed by one or more digits, followed by EOI.  
31.var reInteger = /^\d+$/  
32. 
33.// BOI, followed by one or more whitespace characters, followed by EOI.  
34.var reWhitespace = /^\s+$/  
35. 
36.// decimal point character differs by language and culture  
37.var decimalPointDelimiter = "." 
38. 
39.// field bgcolor  
40.var fieldbg="#ddd";  
41. 
42.//*****************FUNCTION MAIN**************************//  
43.function isNum(s) {  
44.  var str = /^[0-9]*$/;  
45.  return (str.test(s));  
46.}  
47. 
48.function isCharNum(s) {  
49.  var str = /^[0-9a-zA-Z]*$/;  
50.    return (str.test(s));  
51.}  
52. 
53.//is Integer?  
54.function isInteger (s) {  
55.    var reInteger = /^\d+$/  
56.    if (!reInteger.test(s) || parseInt(s,10)==0) return false;  
57.    return true 
58.}  
59. 
60.function getTextLen(s) {  
61.    var ilen=0;  
62.    var chr;  
63.    for(i=0;i<s.length;i++) {  
64.       chr=escape(s.charAt(i));  
65.       if(chr.length==6) ilen+=2;  
66.       else ilen++;  
67.    } //End for  
68.    return ilen;  
69.}  
70. 
71.function chkSeleFirst(objField, label_name) {  
72.    if (objField.selectedIndex==0) {  
73.        setFieldProperty(objField);  
74.      alert ("请选择 " + label_name+" .");  
75.      return false;  
76.    }  
77.    return true;  
78.}  
79. 
80.function chkNumeric(objField,label_name,defaultEmpty) {  
81.    var s = objField.value;  
82.    if(isEmpty(s)) {  
83.        if (!defaultEmpty) {  
84.         setFieldProperty(objField);  
85.         alert ("请输入 " + label_name+" .");  
86.         objField.value = "";  
87.         return false;  
88.      } else return true;  
89.    }  
90.    if (isNaN(s)) {  
91.        setFieldProperty(objField);  
92.        alert ("请输入 " + label_name+" 中输入数字.");  
93.        objField.value = "";  
94.            return false;  
95.    }  
96.    return true;  
97.}  
98. 
99.function chkLen(objField, allow_len, label_name,defaultEmpty) {  
100.  var s = objField.value;  
101.  if (typeof(defaultEmpty) == "undefined") defaultEmpty = true;  
102. 
103.    if(isEmpty(s)) {  
104.          
105.        if (!defaultEmpty) {  
106.               
107.        setFieldProperty(objField);  
108.        alert ("请输入 " + label_name+" .");  
109.        objField.value = "";  
110.        return false;  
111.      } else return true;  
112.    }  
113.    if (getTextLen(s) > allow_len) {  
114.        setFieldProperty(objField);  
115.        alert(label_name + " 的长度不能超过 " + allow_len + " 个字节,请重新填写.");  
116.        objField.value = "";  
117.        return false;  
118.    }  
119.    return true;  
120.}  
121. 
122.function chkFckeditorLen(objField, allow_len, label_name,defaultEmpty) {  
123. 
124.      var oEditor = FCKeditorAPI.GetInstance(objField) ;  
125.         var content = oEditor.GetXHTML();  
126.         if (typeof(defaultEmpty) == "undefined") defaultEmpty = true;  
127.    if(isEmpty(content)) {  
128.          
129.        if (!defaultEmpty) {  
130.               
131.        oEditor.Focus();  
132.        alert ("请输入 " + label_name+" .");  
133.        
134.        return false;  
135.      } else return true;  
136.    }  
137.    if (getTextLen(content) > allow_len) {  
138.         oEditor.Focus();  
139.        alert(label_name + " 的长度不能超过 " + allow_len + " 个字节,请重新填写.");  
140.          
141.        return false;  
142.    }  
143.    return true;  
144.}  
145. 
146. 
147. 
148.function chkLenEquals(objField, allow_len, label_name,defaultEmpty) {  
149.  var s = objField.value;  
150.  if (typeof(defaultEmpty) == "undefined") defaultEmpty = true;  
151.    if(isEmpty(s)) {  
152.        if (!defaultEmpty) {  
153.        setFieldProperty(objField);  
154.        alert ("请输入 " + label_name+" .");  
155.        objField.value = "";  
156.        return false;  
157.      } else return true;  
158.    }  
159.    if (getTextLen(s) != allow_len) {  
160.        setFieldProperty(objField);  
161.        alert(label_name + " 的长度必须为 " + allow_len + " 个字节,请重新填写.");  
162.        objField.value = "";  
163.        return false;  
164.    }  
165.    return true;  
166.}  
167. 
168.function chkEmail(objField,label_name,defaultEmpty) {  
169.  var s = objField.value;  
170.    var str = /^[_\.0-9a-zA-Z]+@([0-9a-zA-Z]+\.)+[a-zA-Z]{2,3}$/;  
171.    if (typeof(defaultEmpty) == "undefined") defaultEmpty = true;  
172.    if(isEmpty(s)) {  
173.        if (!defaultEmpty) {  
174.                   setFieldProperty(objField);  
175.                   alert ("请输入 " + label_name+" .");  
176.                   return false;  
177.            } else return true;  
178.    }  
179.    if (!str.test(s))  {  
180.                setFieldProperty(objField);  
181.            alert(label_name+" 输入不合法,请输入正确的Email.");  
182.            return false;  
183.        }  
184.    return true;  
185.}  
186. 
187.function chkNum(objField,label_name,defaultEmpty) {  
188.    if (typeof(defaultEmpty) == "undefined") defaultEmpty = true;  
189.        var s = objField.value;  
190.        if(isEmpty(s)) {  
191.        if (!defaultEmpty) {  
192.                   setFieldProperty(objField);  
193.                   alert ("请输入 " + label_name+" .");  
194.                   objField.value = "";  
195.                   return false;  
196.            } else return true;  
197.         }  
198.         if (!isNum(s)) {  
199.            setFieldProperty(objField);  
200.            alert(label_name+" 输入不合法,只能输入数字.");  
201.            objField.value = "";  
202.            return false;  
203.         }  
204.         return true;  
205.}  
206. 
207.function chkCharNum(objField,label_name,defaultEmpty) {  
208.    if (typeof(defaultEmpty) == "undefined") defaultEmpty = true;  
209.    var s = objField.value;  
210.    if(isEmpty(s)) {  
211.        if (!defaultEmpty) {  
212.                   setFieldProperty(objField);  
213.                   alert ("请输入 " + label_name+" .");  
214.                   return false;  
215.            } else return true;  
216.    }  
217.    if (!isCharNum(s)) {  
218.        setFieldProperty(objField);  
219.        alert(label_name+" 输入不合法,只能输入数字和字母.");  
220.        return false;  
221.    }  
222.    return true;  
223.}  
224. 
225.function chkPhone(objField,label_name,defaultEmpty) {  
226.    if (typeof(defaultEmpty) == "undefined") defaultEmpty = true;  
227.    var s = objField.value;  
228.    var str=/^[0-9-;,]*$/;  
229.    if(isEmpty(s)) {  
230.        if (!defaultEmpty) {  
231.                   setFieldProperty(objField);  
232.                   alert ("请输入 " + label_name+" .");  
233.                   return false;  
234.            } else return true;  
235.    }  
236.    if(s.length<6) {  
237.            setFieldProperty(objField);  
238.        alert(label_name+" 输入不合法,请输入正确的电话号码.");  
239.        return false;  
240.    }  
241.    if(s.length>15) {  
242.            setFieldProperty(objField);  
243.        alert(label_name+" 输入不合法, 不能大于15位.");  
244.        return false;  
245.    }  
246.    if (!str.test(s)) {  
247.        setFieldProperty(objField);  
248.        alert(label_name+" 输入不合法,请输入正确的电话号码.");  
249.        return false;  
250.    }  
251.    return true;  
252.}  
253. 
254.function chkPostCode(objField,label_name,defaultEmpty) {  
255.    if (typeof(defaultEmpty) == "undefined") defaultEmpty = true;  
256.    var s = objField.value;  
257.    if(isEmpty(s)) {  
258.        if (!defaultEmpty) {  
259.                   setFieldProperty(objField);  
260.                   alert ("请输入 " + label_name+" .");  
261.                   return false;  
262.            } else return true;  
263.    }  
264.    if(!isNum(s)||s.length!=6) {  
265.            setFieldProperty(objField);  
266.        alert(label_name+" 输入不合法.");  
267.        return false;  
268.    }  
269.    return true;  
270.}  
271. 
272.function chkInteger(objField,label_name,defaultEmpty) {  
273.    if (typeof(defaultEmpty) == "undefined") defaultEmpty = true;  
274.    var s = objField.value;  
275.    if(isEmpty(s)) {  
276.        if (!defaultEmpty) {  
277.                   setFieldProperty(objField);  
278.                   alert ("请输入 " + label_name+" .");  
279.                   objField.value = "" 
280.                   return false;  
281.            } else return true;  
282.    }  
283.    if (!reInteger.test(s) || parseInt(s,10)==0) {  
284.                setFieldProperty(objField);  
285.            alert ("请在 " + label_name+" 中输入正整数.");  
286.            objField.value = "";  
287.            return false;  
288.    }  
289.    return true;  
290.}  
291. 
292.function chkWhiteSpace(objField,label_name) {  
293.    var s = objField.value;  
294.    if (isEmpty(s) || reWhitespace.test(s)) {  
295.        setFieldProperty(objField);  
296.        alert ("请输入 " + label_name+" .");  
297.        return false;  
298.    }  
299.    return true;  
300.}  
301. 
302.function chkFloat(objField,allow_len,dec,label_name,allow_zero,defaultEmpty,allowNegative) {  
303.    if (typeof(defaultEmpty) == "undefined") defaultEmpty = true;  
304.    if (typeof(allow_zero) == "undefined") allow_zero = true;  
305.    if (typeof(allowNegative) == "undefined") allowNegative = false;  
306. 
307.    var s = objField.value;  
308.    var i;  
309.    var floatErrMes = "";  
310. 
311.    if(isEmpty(s)) {  
312.    if (!defaultEmpty) {  
313.        setFieldProperty(objField);  
314.            alert ("请输入 " + label_name+" .");  
315.            objField.value = "";  
316.            return false;  
317.    } else return true;  
318.    }  
319. 
320.    for ( i=0; i<(allow_len-dec); i++) {  
321.         floatErrMes += "9";  
322.    }  
323.    floatErrMes +=".";  
324.    for ( i=0; i<dec; i++) {  
325.         floatErrMes += "9";  
326.    }  
327. 
328.    //check numeric  
329.    if ( isFloatNaN(s,label_name)) {  
330.        setFieldProperty(objField);  
331.        objField.value = "";  
332.            return false;  
333.    }  
334. 
335.    s=s.toString();  
336.    //check positive value  
337.    if (!allowNegative) {  
338.        if (s.charAt(0) == '-') {  
339.             setFieldProperty(objField);  
340.         alert("请在 " + label_name+" 中输入正数.");  
341.         objField.value = "";  
342.         return false;  
343.        }  
344.    }  
345. 
346. 
347.    if (!allow_zero && parseFloat(s) == 0) {  
348.             setFieldProperty(objField);  
349.         alert("请在 " + label_name+" 中输入非零数字.");  
350.         objField.value = "";  
351.         return false;  
352.    }  
353. 
354.    //check if the length of the number is correct  
355.    if (!isFloatLength(s,label_name,allow_len,dec,floatErrMes,allowNegative)) {  
356.         setFieldProperty(objField);  
357.         objField.value = "";  
358.                 return false;  
359.    }  
360.    // All characters are numbers.  
361.    return true;  
362.}  
363. 
364. function isFloatLength (s,label_name,allow_len, dec,floatErrMes,allowNegative) {  
365.     var seenDecimalPoint = false;  
366.     var isNegative = false;  
367.     var posDecimalPoint;  
368. 
369.     if (allowNegative) {  
370.        if (s.charAt(0) == '-') {  
371.            s = s.substring(1,s.length);  
372.            isNegative = true;  
373.        }  
374.     }  
375. 
376.     for (i = 0; i < s.length; i++) {  
377.        // Check that current character is number.  
378.        var c = s.charAt(i);  
379.        if ((c == decimalPointDelimiter) && !seenDecimalPoint) {  
380.            seenDecimalPoint = true;  
381.            posDecimalPoint = i;  
382.            break;  
383.        }  
384.     } //End For  
385. 
386.     if (seenDecimalPoint == true) {  
387.        if ((s.length - posDecimalPoint - 1) > dec || posDecimalPoint==(s.length-1)) { //right too long  
388.            alert("请在"+label_name+"中输入数字, 包括"+dec+"位小数.");  
389.            return false;  
390.        }  
391.        else if (posDecimalPoint > (allow_len - dec) ) { // left too long  
392.                if (isNegative)  
393.                  alert("请注意 "+label_name+" 的值不能小于 -"+floatErrMes+".");  
394.                else 
395.              alert("请注意 "+label_name+" 的值不能大于 "+floatErrMes+".");  
396.            return false;  
397. 
398.        } //else  
399.    } else if (s.length > allow_len - dec) { // left too long  
400.                if (isNegative)  
401.                  alert("请注意 "+label_name+" 的值不能小于 -"+floatErrMes+".");  
402.                else 
403.              alert("请注意 "+label_name+" 的值不能大于 "+floatErrMes+".");  
404.            return false;  
405. 
406.    } //else  
407.    return true;  
408. }  
409. 
410.//is numeric?  
411.function isFloatNaN (s,label_name) {  
412.    if (isNaN(s)) {  
413.        alert("请在"+label_name+" 中输入数字.");  
414.                return true;  
415.        }  
416.        return false;  
417.}  
418. 
419.//检验s是否是非负数字  
420.function isNumeric(s){  
421.    s = trim(s);  
422.    if(s=="") return false;  
423.    if(!isNaN(s) && s>0) return true;  
424.    return false;  
425.}  
426. 
427.function setFieldProperty(objField) {  
428.    if (objField.type.toLowerCase() != "hidden") {  
429.        objField.focus();  
430.            objField.style.background=fieldbg;  
431.    }  
432.}  
433. 
434.// 验证输入的日期  
435.function strDateTime(str)  
436.     {  
437.          
438.          if (str == "")  
439.          {  
440.              return true;  
441.          }  
442.         var r = str.match(/^(\d{4})(-|\/)(\d{2})\2(\d{2})$/);  
443.         if(r==null)return false;  
444.          
445.         var d= new Date(r[1], r[3]-1, r[4]);  
446.         return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);  
447.      } 
分享到:
评论

相关推荐

    js 常用验证 JavaScript 常用验证

    网址:http://www.web-tag.net/all_22.htm 或者下载CHM 格式文档

    JavaScript常用验证脚本总结

    这篇博客“JavaScript常用验证脚本总结”提供了一些在实际开发中常用的JavaScript验证技术,帮助开发者确保用户输入的数据符合预期格式和要求,提高应用程序的安全性和用户体验。以下是关于这个主题的详细知识点: ...

    js 常用验证

    js 常用验证

    js常用验证函数,邮箱验证,手机号码验证,是否url地址,是否字符串,是否数字......

    js常用验证函数,邮箱验证,手机号码验证,是否url地址,是否字符串,是否数字......,十分方便,随取随用

    javascript常用验证 常用操作方法(工具方法)

    本资源“javascript常用验证 常用操作方法(工具方法)”可能包含了一个名为`comm.js`的文件,这通常是一个通用的JavaScript工具库,封装了多种常见的验证和操作功能。下面将详细介绍JavaScript中的验证和操作方法。 ...

    JS常用验证方法

    JS常用验证方法:包括邮箱格式、移动电话、身份证号码、固定电话号码、邮政编码等等常用页面格式的验证。

    javascript 常用验证函数.doc

    本文将详细介绍JavaScript中的一些常用验证函数,这些函数对于确保用户输入的有效性和提高用户体验至关重要。 一、验证类 1. 数字验证: - 整数验证:`/^(-|\+)?\d+$/.test(str)`,该正则表达式用于检查字符串...

    JS常用验证可以大大节省大家的时间

    ### JS常用验证知识点详解 #### 一、正整数验证 **函数定义:** ```javascript function plusIntegerCheck(s) { if (s.match(/^[1-9]\d*$/)) { return true; } return false; } ``` **功能说明:** 此函数...

    Javascript常用验证

    本文将基于给定文件中的“JavaScript常用验证”这一主题,深入解析并扩展各种常用的验证方法,帮助开发者更好地理解和应用这些技巧。 ### 数字验证 #### 1.1 整数验证 整数验证是JavaScript中最基本的验证类型之...

    javascript常用验证方法

    根据提供的文件信息,我们可以总结出一系列关于JavaScript中常用的验证方法的知识点。这些验证方法主要针对电话号码、邮政编码、身份证号码、手机号码以及电子邮件地址等常见的数据格式进行有效性检查。 ### 1. ...

    javascript 常用验证

    ### JavaScript常用验证知识点详解 #### 一、验证类 ##### 1、数字验证 **1.1 整数验证** 正则表达式:`/^(-|\+)?\d+$/.test(str)` - **用途**: 验证一个字符串是否为整数。 - **解释**: - `^` 表示字符串的...

    常用正则表达式集锦 js常用正则验证

    ### 常用正则表达式集锦及应用场景 #### 1. 只能输入数字:“^[0-9]*$” - **含义**: 匹配任何由数字组成的字符串。 - **应用场景**: 适用于需要用户输入纯数字的情况,例如年龄、价格等。 #### 2. 只能输入n位的...

    js常用验证方法

    根据提供的文件内容,我们可以总结出一系列JavaScript常用的验证方法及其应用场景。这些验证方法涵盖了文本长度限制、字符类型过滤、电子邮件格式检查、密码匹配等常见的前端验证需求。下面将逐一解析每个验证方法的...

    js表单验证实例,HTML文件,javascript常用表单验证

    js表单验证实例,HTML文件,javascript常用表单验证: 账号、密码、身份证等

    js常用注册验证

    根据提供的文件信息,我们可以了解到这段内容主要涉及到JavaScript(简称JS)在用户注册验证中的应用。在实际开发过程中,为了确保用户输入的有效性和安全性,开发者通常会利用JS进行前端验证。以下将详细介绍这些...

    js常用验证函数库 提供常用的验证函数,如日期、身份证、数字等,另外提供了一些java中有但js中没有提供的函数,如trim(),取中文字符串长度等

    提供常用的验证函数,如日期、身份证、数字等,另外提供了一些java中有但js中没有提供的函数,如trim(),取中文字符串长度等

    JavaScript常用验证

    本教程将深入探讨JavaScript中的常用验证技术,帮助开发者确保数据的有效性和安全性。 一、表单验证 1. 邮箱验证:在JavaScript中,我们可以使用正则表达式来检查输入的邮箱格式是否正确。例如,`/^\w+@[a-zA-Z_]+...

    javascript常用语句 js简单验证 js

    综上所述,JavaScript的常用语句和简单验证在网页开发中扮演着至关重要的角色。它们帮助确保了用户输入的有效性和安全性,同时也提升了网站的用户体验。通过学习和熟练掌握这些技巧,开发者能够构建更健壮、更用户...

Global site tag (gtag.js) - Google Analytics