JavaScript验证表单函数大全

  1
  2/* 
  3用途:校验ip地址的格式 
  4输入:strIP:ip地址 
  5返回:如果通过验证返回true,否则返回false; 
  6
  7*/
 
  8function isIP(strIP) 
  9if (isNull(strIP)) return false
 10var re=/^(\d+)\.(\d+)\.(\d+)\.(\d+)$///匹配IP地址的正则表达式 
 11if(re.test(strIP)) 
 12
 13if( RegExp.$1 <256 & RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256return true
 14}
 
 15return false
 16}
 
 17
 18/* 
 19用途:检查输入字符串是否为空或者全部都是空格 
 20输入:str 
 21返回: 
 22如果全是空返回true,否则返回false 
 23*/
 
 24function isNull( str )
 25if ( str == "" ) return true
 26var regu = "^[ ]+$"
 27var re = new RegExp(regu); 
 28return re.test(str); 
 29}
 
 30
 31
 32/* 
 33用途:检查输入对象的值是否符合整数格式 
 34输入:str 输入的字符串 
 35返回:如果通过验证返回true,否则返回false 
 36
 37*/
 
 38function isInteger( str )
 39var regu = /^[-]{0,1}[0-9]{1,}$/
 40return regu.test(str); 
 41}
 
 42
 43/* 
 44用途:检查输入手机号码是否正确 
 45输入: 
 46s:字符串 
 47返回: 
 48如果通过验证返回true,否则返回false 
 49
 50*/
 
 51function checkMobile( s )
 52var regu =/^[1][3][0-9]{9}$/
 53var re = new RegExp(regu); 
 54if (re.test(s)) 
 55return true
 56}
else
 57return false
 58}
 
 59}
 
 60
 61
 62/* 
 63用途:检查输入字符串是否符合正整数格式 
 64输入: 
 65s:字符串 
 66返回: 
 67如果通过验证返回true,否则返回false 
 68
 69*/
 
 70function isNumber( s )
 71var regu = "^[0-9]+$"
 72var re = new RegExp(regu); 
 73if (s.search(re) != -1
 74return true
 75}
 else 
 76return false
 77}
 
 78}
 
 79
 80/* 
 81用途:检查输入字符串是否是带小数的数字格式,可以是负数 
 82输入: 
 83s:字符串 
 84返回: 
 85如果通过验证返回true,否则返回false 
 86
 87*/
 
 88function isDecimal( str )
 89if(isInteger(str)) return true
 90var re = /^[-]{0,1}(\d+)[\.]+(\d+)$/
 91if (re.test(str)) 
 92if(RegExp.$1==0&RegExp.$2==0return false
 93return true
 94}
 else 
 95return false
 96}
 
 97}
 
 98
 99/* 
100用途:检查输入对象的值是否符合端口号格式 
101输入:str 输入的字符串 
102返回:如果通过验证返回true,否则返回false 
103
104*/
 
105function isPort( str )
106return (isNumber(str) & str<65536); 
107}
 
108
109/* 
110用途:检查输入对象的值是否符合E-Mail格式 
111输入:str 输入的字符串 
112返回:如果通过验证返回true,否则返回false 
113
114*/
 
115function isEmail( str )
116var myReg = /^[-_A-Za-z0-9]+@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/
117if(myReg.test(str)) return true
118return false
119}
 
120
121/* 
122用途:检查输入字符串是否符合金额格式 
123格式定义为带小数的正数,小数点后最多三位 
124输入: 
125s:字符串 
126返回: 
127如果通过验证返回true,否则返回false 
128
129*/
 
130function isMoney( s )
131var regu = "^[0-9]+[\.][0-9]{0,3}$"
132var re = new RegExp(regu); 
133if (re.test(s)) 
134return true
135}
 else 
136return false
137}
 
138}
 
139/* 
140用途:检查输入字符串是否只由英文字母和数字和下划线组成 
141输入: 
142s:字符串 
143返回: 
144如果通过验证返回true,否则返回false 
145
146*/
 
147function isNumberOr_Letter( s ){//判断是否是数字或字母 
148
149var regu = "^[0-9a-zA-Z\_]+$"
150var re = new RegExp(regu); 
151if (re.test(s)) 
152return true
153}
else
154return false
155}
 
156}
 
157/* 
158用途:检查输入字符串是否只由英文字母和数字组成 
159输入: 
160s:字符串 
161返回: 
162如果通过验证返回true,否则返回false 
163
164*/
 
165function isNumberOrLetter( s ){//判断是否是数字或字母 
166
167var regu = "^[0-9a-zA-Z]+$"
168var re = new RegExp(regu); 
169if (re.test(s)) 
170return true
171}
else
172return false
173}
 
174}
 
175/* 
176用途:检查输入字符串是否只由汉字、字母、数字组成 
177输入: 
178value:字符串 
179返回: 
180如果通过验证返回true,否则返回false 
181
182*/
 
183function isChinaOrNumbOrLett( s ){//判断是否是汉字、字母、数字组成 
184
185var regu = "^[0-9a-zA-Z\u4e00-\u9fa5]+$"
186var re = new RegExp(regu); 
187if (re.test(s)) 
188return true
189}
else
190return false
191}
 
192}
 
193
194/* 
195用途:判断是否是日期 
196输入:date:日期;fmt:日期格式 
197返回:如果通过验证返回true,否则返回false 
198*/
 
199function isDate( date, fmt ) 
200if (fmt==null) fmt="yyyyMMdd"
201var yIndex = fmt.indexOf("yyyy"); 
202if(yIndex==-1return false
203var year = date.substring(yIndex,yIndex+4); 
204var mIndex = fmt.indexOf("MM"); 
205if(mIndex==-1return false
206var month = date.substring(mIndex,mIndex+2); 
207var dIndex = fmt.indexOf("dd"); 
208if(dIndex==-1return false
209var day = date.substring(dIndex,dIndex+2); 
210if(!isNumber(year)||year>"2100" || year< "1900"return false
211if(!isNumber(month)||month>"12" || month< "01"return false
212if(day>getMaxDay(year,month) || day< "01"return false
213return true
214}
 
215
216function getMaxDay(year,month) 
217if(month==4||month==6||month==9||month==11
218return "30"
219if(month==2
220if(year%4==0&year%100!=0 || year%400==0
221return "29"
222else 
223return "28"
224return "31"
225}
 
226
227/* 
228用途:字符1是否以字符串2结束 
229输入:str1:字符串;str2:被包含的字符串 
230返回:如果通过验证返回true,否则返回false 
231
232*/
 
233function isLastMatch(str1,str2) 
234
235var index = str1.lastIndexOf(str2); 
236if(str1.length==index+str2.length) return true
237return false
238}
 
239
240
241/* 
242用途:字符1是否以字符串2开始 
243输入:str1:字符串;str2:被包含的字符串 
244返回:如果通过验证返回true,否则返回false 
245
246*/
 
247function isFirstMatch(str1,str2) 
248
249var index = str1.indexOf(str2); 
250if(index==0return true
251return false
252}
 
253
254/* 
255用途:字符1是包含字符串2 
256输入:str1:字符串;str2:被包含的字符串 
257返回:如果通过验证返回true,否则返回false 
258
259*/
 
260function isMatch(str1,str2) 
261
262var index = str1.indexOf(str2); 
263if(index==-1return false
264return true
265}
 
266
267
268/* 
269用途:检查输入的起止日期是否正确,规则为两个日期的格式正确, 
270且结束如期>=起始日期 
271输入: 
272startDate:起始日期,字符串 
273endDate:结束如期,字符串 
274返回: 
275如果通过验证返回true,否则返回false 
276
277*/
 
278function checkTwoDate( startDate,endDate ) 
279if!isDate(startDate) ) 
280alert("起始日期不正确!"); 
281return false
282}
 else if!isDate(endDate) ) 
283alert("终止日期不正确!"); 
284return false
285}
 else if( startDate > endDate ) 
286alert("起始日期不能大于终止日期!"); 
287return false
288}
 
289return true
290}
 
291
292/* 
293用途:检查输入的Email信箱格式是否正确 
294输入: 
295strEmail:字符串 
296返回: 
297如果通过验证返回true,否则返回false 
298
299*/
 
300function checkEmail(strEmail) 
301//var emailReg = /^[_a-z0-9]+@([_a-z0-9]+\.)+[a-z0-9]{2,3}$/; 
302var emailReg = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/
303if( emailReg.test(strEmail) )
304return true
305}
else
306alert("您输入的Email地址格式不正确!"); 
307return false
308}
 
309}

310
311/*
312用途:检查输入的电话号码格式是否正确
313输入:
314strPhone:字符串
315返回:
316如果通过验证返回true,否则返回false
317
318*/

319function checkPhone( strPhone ) 
320var phoneRegWithArea = /^[0][1-9]{2,3}-[0-9]{5,10}$/
321var phoneRegNoArea = /^[1-9]{1}[0-9]{5,8}$/
322var prompt = "您输入的电话号码不正确!"
323if( strPhone.length > 9 ) {
324if( phoneRegWithArea.test(strPhone) ){
325return true
326}
else{
327alert( prompt );
328return false
329}

330}
else{
331if( phoneRegNoArea.test( strPhone ) ){
332return true
333}
else{
334alert( prompt );
335return false
336}

337}

338}
posted @ 2008-07-31 16:42  Jarry_liu  阅读(642)  评论(0编辑  收藏  举报