常用正则表达式知识点解读及判读有效数字、手机号邮箱正则表达式讲解.docVIP

常用正则表达式知识点解读及判读有效数字、手机号邮箱正则表达式讲解.doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
常用正则表达式知识点解读及判读有效数字、手机号邮箱正则表达式 1、正则仅仅就是用来处理字符串的:匹配、捕获 匹配:验证当前的字符串是否符合我们的规则(每一个正则都是一个规则) 捕获:在整个字符串当中,把符合规则的字符都依次的获取到---exec、match、replace 2、正则的组成:元字符、修饰符 元字符: 特殊意义的元字符: \d匹配一个0-9的数字相当于[0-9],和它相反的 \D匹配一个除了0-9的任意字符相当于【】 \w匹配一个0-9、a-z、A-Z_ 的数字或字符,相当于[0-9a-zA-Z_] 、 \s匹配一个空白字符(空格、制表符。。。) \b匹配一个单词的边界 “w100 w000” \t匹配一个制表符 \n匹配一个换行 . 匹配一个除了\n以外的任意字符 ^ 以某一个元字符开头 $ 以某一个元字符结尾 \ 转译字符 x|y x或者y的一个 [xyz] x、y、z、中的任意一个 [^xyz]除了x、y、z、中的任意一个 [a-z] - 匹配a-z中的任意一个字符 [^a-z] - 匹配除了a-z中的任意一个字符 () 正则中的分组 量词: * 0到多个 + 1到多个 ? 0到1个 ?在正则中的意义比较多 放在一个非量词元字符后面代表出现0-1次 例如/^\d?$/出现0-9直接的数0到1次 放在一个量词元字符后面,取消捕获时候的贪婪性 /^\d+?$/捕获的时候只是把第一个捕获的数字获取 2015---2 (?:)分组值匹配不捕获 (?=)正向预查 (?!)负向预查 ()的作用 1)改变默认的优先级 2)可以进行分组捕获 3)分组引用 {n}出现n次 {n,}出现n到多次 {n,m}出现n到m次 普通元字符 任何字符在正则中除了以上有特殊意义的,其他的都是代表本身意思的普通元字符 修饰符: i:忽略字母的大小写 m:multiline 多行匹配 g:global全局匹配 项目中经常使用的正则 1)判断是有效数字的正则 有效数字是指:正数、负数、零、小数 第一部分:可能出现加减或者没有 第二部分:一位数可以是0,多位数不能以0开头 第三部分:可以有小数也可以没有小数,但是一旦出现小数点,后面至少跟一位数字 var reg =/^[+-]?(\d|[1-9]\d+)(\.\d+)?$/; 有效的正整数(包含0):/^[+]?(\d|[1-9]\d+)$/; 有效的负整数(包含0):/^-(\d|[1-9]\d+)$/; 判断手机号(简单版): var reg=/^1\d{10}$/; 判断邮箱 第一部分:数字、字母、下划线、- 一到多位 第二部分:@ 第三部分:数字、字母、 一到多位 第四部分:(.两到四位) .com .cn .net .. . var reg =/^[0-9a-zA-Z_-]+@[0-9a-zA-Z-]+(\.[a-zA-Z]{2,4}){1,2}$/ 判断年龄在18到65之间的 18-19/20-59/60-65 var reg =/^((18|19)|([2-5]\d)|(6[0-5]))$/ 真实有效的中华人民共和国姓名 2-4 位汉字 var reg = /^[\u4e00-\u9fa5]{2,4}$/; 身份证号码 前六位是省-市-县(区) 四位年 两位月 两位日 简单版 var reg = /^\d{17}(\d|X)$/;复杂版 var reg = /^(\d{2})(\d{4})(\d{4})(\d{2})(\d{2})(?:\d{2})(\d)(?:\d|X)$/; 细节知识点 里面出现的任何字符都是代表本身意义的,例如:[.]中的”.“就是代表一个小数点而不是除了\n以外的任意字符 里面出现18不是数字18而是1或者8,例如[18-65]是1或者8-6或者5中任选一个 1、exec正则的捕获方法---先匹配,然后把匹配的内容捕获 如果字符串没有匹配这个正则,捕获的返结果是null 如果和正则匹配,返回的结果是一个数组 例子 var str =2015zhufeng2016peixun var reg = /\d+/; 第一项是我们捕获的内容 index:捕获的内容在元字符串中开始的索引位置 input:捕获的原始字符串 2、正则的捕获是懒惰的 正则的每一次捕获都从lastIndex值开始,第一次捕获的时候,lastIndex=0,从原始字符串索引为0的位置开始查找捕获,而默认的情况下,第一次捕获完成,lastIndex的值并没有发生改变,还是0,所以第二次捕获还是从原始字符串索引为0处开始查找,这样找到的还是第一次捕获的内容 解决办法:添加全局修饰符g---加上g后,第一次捕获完成后,lastIndex的值发生了改变,变为第一

文档评论(0)

shuwkb + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档