版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、js 常用正则表达式表单验证代码方法一: var re=/正则表达式/; re.test($("txtid").val() 方法二: $("txtid").val.match(/正则表达式/); 附: 验证数字的正则表达式集(转载) 验证数字:0-9*$ 验证n位的数字:dn$ 验证至少n位数字:dn,$ 验证m-n位的数字:dm,n$ 验证零和非零开头的数字:(0|1-90-9*)$ 验证有两位小数的正实数:0-9+(.0-92)?$ 验证有1-3位小数的正实数:0-9+(.0-91,3)?$ 验证非零的正整数:+?1-90-9*$ 验证非零的负整数:
2、-1-90-9*$ 验证非负整数(正整数 + 0) d+$ 验证非正整数(负整数 + 0) (-d+)|(0+)$ 验证长度为3的字符:.3$ 验证由26个英文字母组成的字符串:A-Za-z+$ 验证由26个大写英文字母组成的字符串:A-Z+$ 验证由26个小写英文字母组成的字符串:a-z+$ 验证由数字和26个英文字母组成的字符串:A-Za-z0-9+$ 验证由数字、26个英文字母或者下划线组成的字符串:w+$ 验证用户密码:a-zA-Zw5,17$ 正确格式为:以字母开头,长度在6-18之间,只能包含字符、数字和下划线。 验证是否含有 %&',;=?$" 等字符:
3、%&',;=?$x22+ 验证汉字:u4e00-u9fa5,0,$ 验证Email地址:w+-+.w+)*w+(-.w+)*.w+(-.w+)*$ 验证InternetURL:http:/(w-+.)+w-+(/w-./?%&=*)?$ ;a-zA-z+:/(w+(-w+)*)(.(w+(-w+)*)*(?S*)?$ 验证电话号码:(d3,4)|d3,4-)?d7,8$:-正确格式为:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX。 验证身份证号(15位或18位数字):d15|d1
4、8$ 验证一年的12个月:(0?1-9|10-2)$ 正确格式为:“01”-“09”和“1”“12” 验证一个月的31天:(0?1-9)|(1|2)0-9)|30|31)$ 正确格式为:01、09和1、31。 整数:-?d+$ 非负浮点数(正浮点数 + 0):d+(.d+)?$ 正浮点数 (0-9+.0-9*1-90-9*)|(0-9*1-90-9*.0-9+)|(0-9*1-90-9*)$ 非正浮点数(负浮点数 + 0) (-d+(.d+)?)|(0+(.0+)?)$ 负浮点数 (-(0-9+.0-9*1-90-9*)|(0-9*1-90-9*.0-9+)|(0-9*1-90-9*)$ 浮点
5、数 (-?d+)(.d+)?function check() var bb = document.getElementById("txt_id").value;/txt_id为文本框的ID alert(ismobile(bb);/ismobile 代表以下任何一个函数名称 HTML代码: <input type="text" name="textfield" id="txt_id" /> <input type="submit" name="Submit"
6、value="提交" onclick="check()" /> */ / 判断输入是否是一个由 0-9 / A-Z / a-z 组成的字符串 function isalphanumber(str) var result=str.match(/a-zA-Z0-9+$/); if(result=null) return false; return true; / 判断输入是否是一个数字-(数字包含小数)- function isnumber(str) return !isNaN(str); / 判断输入是否是一个整数 function isint(st
7、r) var result=str.match(/(-|+)?d+$/); if(result=null) return false; return true; / 判断输入是否是有效的长日期格式 - "YYYY-MM-DD HH:MM:SS" | "YYYY/MM/DD HH:MM:SS" function isdatetime(str) var result=str.match(/(d4)(-|/)(d1,2)2(d1,2) (d1,2):(d1,2):(d1,2)$/); if(result=null) return false; var d= n
8、ew Date(result1, result3-1, result4, result5, result6, result7); return (d.getFullYear()=result1&&(d.getMonth()+1)=result3&&d.getDate()=result4&&d.getHours()=result5&&d.getMinutes()=result6&&d.getSeconds()=result7); / 检查是否为 YYYY-MM-DD | YYYY/MM/DD 的日期格式 functi
9、on isdate(str) var result=str.match(/(d4)(-|/)(d1,2)2(d1,2)$/); if(result=null) return false; var d=new Date(result1, result3-1, result4); return (d.getFullYear()=result1 && d.getMonth()+1=result3 && d.getDate()=result4); / 判断输入是否是有效的电子邮件 function isemail(str) var result=str.match(/w
10、+(-w+)|(.w+)*A-Za-z0-9+(.|-)A-Za-z0-9+)*.A-Za-z0-9+$/); if(result=null) return false; return true; / 去除字符串的首尾的空格 function trim(str) return str.replace(/(s*)|(s*$)/g, ""); / 返回字符串的实际长度, 一个汉字算2个长度 function strlen(str) return str.replace(/x00-xff/g, "*").length; /匹配中国邮政编码(6位) functi
11、on ispostcode(str) var result=str.match(/1-9d5(?!d)/); if(result=null) return false; return true; /匹配国内电话号码或 function istell(str) var result=str.match(/d3-d8|d4-d7/); if(result=null) return false; return true; /校验是否为(0-10000)的整数 function isint1(str) var result=str.match(/
12、0-9$|(1-9)(0-9)0,3$|10000$/); if(result=null) return false; return true; /匹配腾讯QQ号 function isqq(str) var result=str.match(/1-90-94,/); if(result=null) return false; return true; /匹配身份证(15位或18位) function isidcard(str) var result=str.match(/d15|d18/); if(result=null) return false; return true; / / /校验
13、文本是否为空 function checknull(field,sval) if (field.value ="") alert("请填写" + sval + "!"); field.focus(); return false; return true; /屏蔽输入字符 /* 调用方法: 在文本框中加上 onkeypress="return checkChar()" */ function checkChar() var keycode = event.keyCode; if(!(keycode>=48&am
14、p;&keycode<=57) return false; /* 中国电话号码验证 匹配形式如或或者555 或者 (0511)4405222 正则表达式 "(d3,4)|d3,4-)?d7,8(-d3)*" 中国邮政编码验证 匹配形式如:215421 正则表达式 "d6" 电子邮件验证 匹配形式如:justali 正则表达式 "w+(-+.w+)*w+(-.w+)*.w+(-.w+)*" 身份证验证 匹配形式如:15位或者18位身份证 正
15、则表达式 "d18|d15" 常用数字验证 正则表达式 "dn" n为规定长度 "dn,m" n到m的长度范围 非法字符验证 匹配非法字符如:< > & / ' | 正则表达式 <>&/|'+ 日期验证 匹配形式如:20030718,030718 范围:1900-2099 正则表达式(19)1|(20)1)d2)|d2)011d10-31d1 匹配中文字符的正则表达式: u4e00-u9fa5 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内)
16、:x00-xff 评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 匹配空白行的正则表达式:ns*r 评注:可以用来删除空白行 匹配HTML标记的正则表达式:< (S*?)>*>.*?|< .*? /> 评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力 匹配首尾空白字符的正则表达式:s*|s*$ 评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式 匹配Email地址的正则表达式:w+(-+.w+)*w+(-.w+)*.w+(-.w+)* 评注:表单验证时很实用 匹配
17、网址URL的正则表达式:a-zA-z+:/s* 评注:网上流传的版本功能很有限,上面这个基本可以满足需求 匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):a-zA-Za-zA-Z0-9_4,15$ 评注:表单验证时很实用 匹配国内电话号码:d3-d8|d4-d7 评注:匹配形式如或匹配腾讯QQ号:1-90-94, 评注:腾讯QQ号从10000开始 匹配中国邮政编码:1-9d5(?!d) 评注:中国邮政编码为6位数字 匹配身份证:d15|d18 评注:中国的身份证为15位或18位 匹配ip地址:d+.d+.d+.d+ 评
18、注:提取ip地址时有用 提取信息中的ip地址: (d+).(d+).(d+).(d+) 提取信息中的中国手机号码: (86)*0*13d9 提取信息中的中国固定电话号码: (d3,4)|d3,4-|s)?d8 提取信息中的中国电话号码(包括移动和固定电话): (d3,4)|d3,4-|s)?d7,14 提取信息中的中国邮政编码: 1-91(d+)5 提取信息中的中国身份证号码: d18|d15 提取信息中的整数: d+ 提取信息中的浮点数(即小数): (-?d*).?d+ 提取信息中的任何数字 : (-?d*)(.d+)? 提取信息中的中文字符串: u4e00-u9fa5* 提取信息中的双字节
19、字符串 (汉字): x00-xff* 提取信息中的英文字符串: w* 提取信息中的网络链接: (h|H)(r|R)(e|E)(f|F) *= *('|")?(w|/|.)+('|"| *|>)? 提取信息中的邮件地址: w+(-+.w+)*w+(-.w+)*.w+(-.w+)* 提取信息中的图片链接: (s|S)(r|R)(c|C) *= *('|")?(w|/|.)+('|"| *|>)? 匹配特定数字: 1-9d*$ /匹配正整数 -1-9d*$ /匹配负整数 -?1-9d*$ /匹配整数 1-9d*|0$
20、 /匹配非负整数(正整数 + 0) -1-9d*|0$ /匹配非正整数(负整数 + 0) 1-9d*.d*|0.d*1-9d*$ /匹配正浮点数 -(1-9d*.d*|0.d*1-9d*)$ /匹配负浮点数 -?(1-9d*.d*|0.d*1-9d*|0?.0+|0)$ /匹配浮点数 1-9d*.d*|0.d*1-9d*|0?.0+|0$ /匹配非负浮点数(正浮点数 + 0) (-(1-9d*.d*|0.d*1-9d*)|0?.0+|0$/匹配非正浮点数(负浮点数 + 0) 评注:处理大量数据时有用,具体应用时注意修正 匹配特定字符串: A-Za-z+$/匹配由26个英文字母组成的字符串 A-
21、Z+$/匹配由26个英文字母的大写组成的字符串 a-z+$/匹配由26个英文字母的小写组成的字符串 A-Za-z0-9+$/匹配由数字和26个英文字母组成的字符串 w+$/匹配由数字、26个英文字母或者下划线组成的字符串 评注:最基本也是最常用的一些表达式 /前4行程序用于保护js代码不被下载 / /基本正则表达式/ /非空验证 function NotNull (str) return (str!=""); /邮件地址验证 function checkEmail (str) /邮件地址正则表达式 isEmail1=/w+(.-w+)*w+(.-w+)*.w+$/; /邮件
22、地址正则表达式 isEmail2=/.*_*$/; /验证邮件地址,返回结果 return (isEmail1.test(str)&&isEmail2.test(str); /身份证验证 function checkIDCard (str) /身份证正则表达式(15位) isIDCard1=/1-9d7(0d)|(10-2)(0|1|2d)|30-1)d3$/; /身份证正则表达式(18位) isIDCard2=/1-9d51-9d3(0d)|(10-2)(0|1|2d)|30-1)d4$/; /验证身份证,返回结果 return (isIDCard1.test(str)|is
23、IDCard2.test(str); /IP验证 function checkIP (str) /IP正则表达式 IP='(250-5|20-4d|1dd|dd|d)' IPdot=IP+'.' isIPaddress=new RegExp(''+IPdot+IPdot+IPdot+IP+'$'); /验证IP,返回结果 return (isIPaddress.test(str); /主页(网址)验证 function checkHomepage (str) /主页正则表达式 /isHomepage=/w+(.-w)*$/; is
24、Homepage=/w+(.w+)+.w+$/; /验证主页,返回结果 return (isHomepage.test(str); /是否数字 function isNum (str) /isNumber=/(1-9d*(.d+)?)|(d+(.d+)$/; isNumber=/d+(.d+)?$/; /验证并返回结果 return (isNumber.test(str); /是否整数 function isInt (str) isInteger=/d+$/; /验证并返回结果 return (isInteger.test(str); /是否字母 function isChar (str) i
25、sCharacter=/A-Za-z+$/; /验证并返回结果 return (isCharacter.test(str); /基本弹出窗口/ function checkBoolean(bv,i,w) if(bv=false) tryi.focus();catch(e) alert(w); return false; return true /元素和取值判断/ / 已选择 function checkElement_selected(item,alert_str) if(item.type="select-one")return checkElement_NotNull(
26、item,alert_str); if(alert_str.length=0)alert_str=item.title+"为必选项!" rt=false; if(item.length>0) for(i=0;i<item.length;i+)rt=rt|itemi.checked; else rt=item.checked return checkBoolean(rt,item0,alert_str); return true; / 不为空 function checkElement_NotNull(a,alert_str,g) v=a.value; w=ale
27、rt_str; if(alert_str.length=0)w=a.title+"不能为空!" return(checkValue_NotNull(v,a,w,g); function checkValue_NotNull(v,i,w,g) if(g!="NOT_TRIM")v=v.replace(/(s*)|(s*$)/g, ""); bv=NotNull(v); return(checkBoolean(bv,i,w); / 合法邮箱 function checkElement_IsEmail(a,alert_str,g) v=a.
28、value; w=alert_str; if(alert_str.length=0)w=a.title+"不能为空!" return(checkValue_IsEmail(v,a,w,g); function checkValue_IsEmail(v,i,w,g) if(g!="NOT_TRIM")v=v.replace(/(s*)|(s*$)/g, ""); bv=checkEmail(v); return(checkBoolean(bv,i,w); / 合法身份证 function checkElement_IsIDCard(a,
29、alert_str,g) v=a.value; w=alert_str; if(alert_str.length=0)w=a.title+"不能为空!" return(checkValue_IsIDCard(v,a,w,g); function checkValue_IsIDCard(v,i,w,g) if(g!="NOT_TRIM")v=v.replace(/(s*)|(s*$)/g, ""); bv=checkIDCard(v); return(checkBoolean(bv,i,w); / 合法IP function check
30、Element_IsIP(a,alert_str,g) v=a.value; w=alert_str; if(alert_str.length=0)w=a.title+"不能为空!" return(checkValue_IsIP(v,a,w,g); function checkValue_IsIP(v,i,w,g) if(g!="NOT_TRIM")v=v.replace(/(s*)|(s*$)/g, ""); bv=checkIP(v); return(checkBoolean(bv,i,w); / 验证数字 function checkElement_IsNum(a,alert_str,g) v=a.value; w=alert_str; if(alert_str.length=0)w=a.title+"不能为空!" return(checkValue_IsNum(v,a,w,g); function checkValue_IsNum(v,i,w,g) if(g!="NOT_TRIM")v
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023年工程计价新版教材内容:合同价款调整
- 电子商务实习总结3000字
- 北师大版2023-2024学年四年级下册数学期末质量检测试题合集3套(无答案)
- 电子信息工程专业前景
- 18《慈母情深》课件-2023-2024学年五年级上册语文统编版
- 2024年机房温控节能项目可行性报告
- 运维软件项目可行性报告
- 2022-2023学年 陕西省延安市富县北师大版二年级下册期末质量监测数学试卷
- 《你我他作业设计方案-2023-2024学年科学人教版》
- 大学《马基》教学知识点总结
- 中国电焊第一人高凤林
- 基于大数据的电商平台用户行为分析系统研究与实现
- 【隔板絮凝池的设计3300字】
- 供应链金融研究预测报告-供应链金融行业并购重组机会及投融资战略研究咨询预测报告2024-2028年
- 人教版六年级下册Unit 4 Then and now单元整体作业设计
- 美容美发传染病管理制度(汇总)
- 道路铲雪除冰合同
- 景区融资方案
- 地坪翻新方案
- 基于ARIMA模型的我国房地产价格预测分析
- 舆论学答案复习
评论
0/150
提交评论