当前位置: 代码迷 >> JavaScript >> js应验 数字
  详细解决方案

js应验 数字

热度:479   发布时间:2012-07-28 12:25:13.0
js验证 数字
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> 验证数字最简单正则表达式大全 </title>
</head>
<body>
<h3>输入完按回车后即可验证!(自认为最简单!)</h3>
正整数:    <input type="text" size="20" onkeydown="if(event.keyCode == 13) alert(/^\d+$/.test(this.value));" />
<br>
负整数:    <input type="text" size="20" onkeydown="if(event.keyCode == 13) alert(/^-\d+$/.test(this.value));" />
<br>
整 数:    <input type="text" size="20" onkeydown="if(event.keyCode == 13) alert(/^-?\d+$/.test(this.value));" />
<br>
正小数:    <input type="text" size="20" onkeydown="if(event.keyCode == 13) alert(/^\d+\.\d+$/.test(this.value));" />
<br>
负小数:    <input type="text" size="20" onkeydown="if(event.keyCode == 13) alert(/^-\d+\.\d+$/.test(this.value));" />
<br>
小 数:    <input type="text" size="20" onkeydown="if(event.keyCode == 13) alert(/^-?\d+\.\d+$/.test(this.value));" />
<br>
实 数:    <input type="text" size="20" onkeydown="if(event.keyCode == 13) alert(/^-?\d+\.?\d*$/.test(this.value));" />
<br>
保留1位小数:<input type="text" size="20" onkeydown="if(event.keyCode == 13) alert(/^-?\d+\.?\d{0,1}$/.test(this.value));" />
<br>
保留2位小数:<input type="text" size="20" onkeydown="if(event.keyCode == 13) alert(/^-?\d+\.?\d{0,2}$/.test(this.value));" />
<br>
保留3位小数:<input type="text" size="20" onkeydown="if(event.keyCode == 13) alert(/^-?\d+\.?\d{0,3}$/.test(this.value));" />
<br>
</body>
</html>

详细出处参考:http://www.jb51.net/article/19159.htm
1、数字
  2 function testisNum(object)
  3 {
  4    var s =document.getElementById(object.id).value;
  5     if(s!="")
  6     {
  7          if(isNaN(s))
  8         {
  9          alert("请输入数字");
10          object.value="";
11          object.focus();
12         }
13     }
14 }
15
16 2、电话号码,传真
17 //校验普通电话、传真号码:可以“+”开头,除数字外,可含有“-”
18 function isTel(object)
19 {
20 //国家代码(2到3位)-区号(2到3位)-电话号码(7到8位)-分机号(3位)"
21 var s =document.getElementById(object.id).value;
22 var pattern =/^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/;
23 //var pattern =/(^[0-9]{3,4}\-[0-9]{7,8}$)|(^[0-9]{7,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/;
24      if(s!="")
25      {
26          if(!pattern.exec(s))
27          {
28           alert('请输入正确的电话号码:电话号码格式为国家代码(2到3位)-区号(2到3位)-电话号码(7到8位)-分机号(3位)"');
29           object.value="";
30           object.focus();
31          }
32      }
33 }
34
35 3、邮箱
36 function Check(object)
37 {
38 var s =document.getElementById(object.id).value;
39    var pattern =/^[a-zA-Z0-9_\-]{1,}@[a-zA-Z0-9_\-]{1,}\.[a-zA-Z0-9_\-.]{1,}$/;
40        if(s!="")
41        {
42            if(!pattern.exec(s))
43            {
44             alert('请输入正确的邮箱地址');
45             object.value="";
46             object.focus();
47            }
48        }     
49 }
50
51 4、手机号码
52 //校验手机号码:必须以数字开头,除数字外,可含有“-”
53 function isMobile(object)
54 {
55 var s =document.getElementById(object.id).value;
56 var reg0 = /^13\d{5,9}$/;
57 var reg1 = /^153\d{4,8}$/;
58 var reg2 = /^159\d{4,8}$/;
59 var reg3 = /^0\d{10,11}$/;
60 var my = false;
61 if (reg0.test(s))my=true;
62 if (reg1.test(s))my=true;
63 if (reg2.test(s))my=true;
64 if (reg3.test(s))my=true;
65     if(s!="")
66     {
67         if (!my)
68         {
69            alert('请输入正确的手机号码');
70            object.value="";
71            object.focus();
72         }
73     }
74 }
75 //校验日期
76 function isdate(object)
77 {
78 var s =document.getElementById(object.id).value;
79 var pattern =/^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|([1-2][0-9])))))|(\d{2}(([02468][1235679])|([13579][01345789]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(\s(((0?[0-9])|([1-2][0-3]))\:([0-5]?[0-9])((\s)|(\:([0-5]?[0-9])))))?$/;
80      if(s!="")
81      {
82          if(!pattern.exec(s))
83          {
84           alert('请输入正确的日期');
85           object.value="";
86           object.focus();
87          }
88      }        
89 }
90
91 5、邮编
92 //校验(国内)邮政编码
93 function isPostalCode(object)
94 {
95 var s =document.getElementById(object.id).value;
96 var pattern =/^[0-9]{6}$/;
97      if(s!="")
98      {
99          if(!pattern.exec(s))
100          {
101           alert('请输入正确的邮政编码');
102           object.value="";
103           object.focus();
104          }
105      }
106 }
107
108 6、日期
109 //校验日期
110 function isdate(object)
111 {
112 var s =document.getElementById(object.id).value;
113 var pattern =/^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|([1-2][0-9])))))|(\d{2}(([02468][1235679])|([13579][01345789]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(\s(((0?[0-9])|([1-2][0-3]))\:([0-5]?[0-9])((\s)|(\:([0-5]?[0-9])))))?$/;
114      if(s!="")
115      {
116          if(!pattern.exec(s))
117          {
118           alert('请输入正确的日期');
119           object.value="";
120           object.focus();
121          }
122      }        
123 }
124
125 一、清除空格
126
127 String.prototype.trim = function()//去除空格
128 {
129      return this.replace(/(^[\s]*)|([\s]*$)/g, "");
130 }
131
132 二、检查一个字符串是否包含特殊字符
133 /*
134 功能:检查传入的字符串中是否包含特殊字符
135 参数:str-要检查的字符串
136 输出:"1"表示字符串不包含特殊字符,验证成功;否则返回"0"
137 相关说明:空字符串可通过验证
138 */
139 function CheckSpecialString(str)
140 {
141 StringFilter = new Array ("'" ,"\\", ".", ",", ";", "/","<","}","%","*");//可以向StringFilter中添加要过滤的字符
142 i=StringFilter.length;
143 j=str.length;
144 for (k=0;k<i;k++)
145 {
146                for (m=0;m<j;m++)
147                {
148                 temp1=str.charAt(m);
149                 temp2=StringFilter[k];
150                 if (temp1==temp2)
151                 {
152                  return 0;
153                 }
154                }
155 }
156 return 1;
157 }
158
159 三、检查一个字符串是否为中文
160 /*
161 功能:检查传入的字符串是否为中文
162 参数:str-要检查的字符串
163 输出:true表示验证成功,false表示验证不成功
164 相关说明:空字符串可以通过验证,且包含中文的特殊字符
165 */
166 function IsChineseString(str)
167 {
168 var pattern_cn = /^([\u4E00-\u9FA5]|[\uFE30-\uFFA0])*$/gi;
169 if(pattern_cn.test(str))
170 {
171           return true;
172 }
173 else
174 {
175           return false;
176 }
177 }
178
179 四、检查一个字符串中是否包含全角空格
180 /*
181 功能:检查传入的字符串是否为中文
182 参数:str-要检查的字符串
183 输出:true表示验证成功(不饮食全解空格),false表示验证不成功
184 相关说明:空字符串可以通过验证
185 */
186 function FullSpace(str)
187 {
188         var Reg = /\ /;
189
190         var booleanT = Reg.test(str);
191
192         if (booleanT == true)
193         {
194             return false;
195         }
196
197         return true;
198 }
199
200 五、比较两个字符串形式的日期大小
201      /*比较两个字符串形式的日期大小
202      功能:比较两个字符串形式的日期大小
203      参数:firstDate-要检查日期字符串,字符串形式为"2007/05/08"或“2007-05-08”
204         secondDate-要检查的日期字符串,字符串形式为"2007/05/08"或“2007-05-08”
205      输出:true表示第一个日期大于第二个日期,false表示第二个日期大于或等于第一个日期
206      相关说明:空字符串可以通过验证
207 */
208      function DateExample(firstDate,secondDate)
209      {
210       if ( firstDate.indexOf("-") > 0)
211       {
212         firstDate = firstDate.replace(/-/g,"/") ;
213       }
214   
215       if ( secondDate.indexOf("-") > 0)
216       {
217         secondDate = secondDate.replace(/-/g,"/") ;
218       }
219   
220       var FirstDate = new Date(Date.parse(firstDate)) ;
221   
222       var SecondDate = new Date(Date.parse(secondDate)) ;
223   
224       alert( FirstDate > SecondDate );
225      }
226
227 六、检查一个字符串是否为一个IP地地
228    /*
229    功能:检查传入的字符串是否为一个IP地址
230    参数:str-要检查的字符串
231    输出:true表示验证成功,false表示验证不成功
232    相关说明:空字符串不可以通过验证
233 */
234    function CheckIP(str)
235    {
236         var Reg = /^([1-9]|[1-9]\d|1\d{2}|2[0-1]\d|22[0-3])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3}$/;
237    
238         var booleanT = Reg.test(str);
239       
240        return booleanT ;
241    }
242
243 七、整除函数
244 function Div(exp1, exp2)
245 {
246     var n1 = Math.round(exp1); //四舍五入
247     var n2 = Math.round(exp2); //四舍五入
248   
249     var rslt = n1 / n2; //除
250   
251     if (rslt >= 0)
252     {
253         rslt = Math.floor(rslt); //返回值为小于等于其数值参数的最大整数值。
254     }
255     else
256     {
257         rslt = Math.ceil(rslt); //返回值为大于等于其数字参数的最小整数。
258     }
259   
260     return rslt;
261 }
262
263 判断输入是否为正整数?
264 1) "^\\d+$"  //非负整数(正整数 + 0)
265 "^[0-9]*[1-9][0-9]*$"  //正整数
266 "^((-\\d+)|(0+))$"  //非正整数(负整数 + 0)
267 "^-[0-9]*[1-9][0-9]*$"  //负整数
268 "^-?\\d+$"    //整数
269 "^\\d+(\\.\\d+)?$"  //非负浮点数(正浮点数 + 0)
270 "^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //正浮点数
271 "^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$"  //非正浮点数(负浮点数 + 0)
272 "^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"  //负浮点数
273 "^(-?\\d+)(\\.\\d+)?$"  //浮点数
274
275 测试:
276 <script>
277 function forcheck(ss){
278 var   type="^[0-9]*[1-9][0-9]*$";
279         var   re   =   new   RegExp(type);
280        if(ss.match(re)==null)
281         {
282          alert( "请输入大于零的整数!");
283         return;
284        }
285 }
286 </script>
  相关解决方案