JavaScript正则表达式怎么使用


这篇文章主要介绍“JavaScript正则表达式怎么使用”,在日常操作中,相信很多人在JavaScript正则表达式怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JavaScript正则表达式免费云主机域名怎么使用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!正则表达式( Regular Expression ) 是用于匹配字符串中字符组合的模式。在js中,正则表达式也是对象!正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。例如:我们在写登录注册功能的时候使用的表单验证(对用户名、密码进行一些字符或长度进行限制) ===> (匹配)正则表达式还常用于过滤掉页面内容的一些敏感词汇。例如:我们平常在打游戏时候的口吐芬芳被换成了***???? ===> (替换)正则表达式从字符串中获取我们想要的特定部分。例如:我们在逛淘宝的时候在搜索框中搜索内容,会弹出很多与搜索相关的提示内容 ===> (提取) etc…灵活性、逻辑性和功能性非常的强可以迅速的用极简单的方式达到字符串的复杂控制对于刚接触的人来说,比较晦涩难懂(缺点)在实际开发中一般都是拿来主义,直接cv调用????,但是你得懂,这样的话你可以进行简单的修改!在js中可以通过两种方式创建正则表达式利用 RegExp 对象来创建利用字面量创建(推荐使用!)虽然在上面我们创建了正则表达式,但是在实际使用中,是要匹配正则表达式的,这里的话就引入了testtest() 是正则对象方法,用于检测字符串是否符合该规则,该对象会返回true或false,其参数是测试字符串代码书写:regexObj.test(str)1. regexObj 是我们写的正则表达式2. str 是我们要测试的文本3. 就是检测str文本是否符合我们所写的正则表达式规范一个正则表达式可以由简单的字符构成,比如/abc/,也可以是简单和特殊字符的组合,比如/ab*c/。其中特殊字符也被成为元字符,在正则表达式中是具有特殊意义的专用字符,如 ^、&、+ 等等。特殊符号链接直达 ===> ????正则表达式mdn????正则表达式中的边界符用来提示字符所在的位置,主要有两个字符在上方内容中讲解创建正则表达式,如果我们仅仅采取/abc/这种没有特殊符号的方式,会发生一些情况:我们可以发现当我们测试的内容只要是符合正则表达式都会打印出true,如果我们想设置以123开头的呢?这就需要我们的特殊符号了!通过以上的方式,我们限制了测试的字符串必须符合以abc开头的规范,所以下方两行会返回false
当你需要精确匹配的时候,你可以通过控制开头和结尾实现该代码表示,测试的字符串必须是abc,其余的都会打印false在实际开发过程中,我们不可能要匹配一连串的字符,我们需要的功能是我可以随意去匹配,只要满足限制就行,字符类就可以解决这个问题。
字符类:表示有一系列的字符可以选择,只要匹配其中一个就可以了 符号:[]举例:let rg = /[abc]/ ,表示只要测试字符串满足 包含a 或 包含b 或 包含c 就返回true我们可以加上特殊字符:let reg = /^[abc]$/,表示,你的测试字符串只能是a 或者 b 或者c!如果你想匹配一个范围内的字符串可以使用特殊符号[-]举例 : let reg = /^[A-z]$/,表示26个英语字母任何一个字母(大小写均可),都会返回true,但是只能是其中的一个!字符组合
我们可以设置更有灵活性的正则表达式let rg = /^[A-z0-9_-]$/,表示26个英语字符、个位数字、两个符号任意一个都会打印true字符类中的^符号
我们知道^符号在外部表示从谁开始的意思,但是一旦它也出现在字符类[]中,则表示取反的意思!
举例:let rg = /^[^A-z0-9_-]$/,第一个^表示从谁开始,第二个^表示对这个正则规范取反操作,如:不能是26个字母中的任意一个 etc…量词符顾名思义就是与数量有关,这时你就要想一想它跟字符类的结合使用咯!量词符用来设定某个模式出现的次数量词说明*重复零次或多次+重复一次或更多次?重复零次或一次{n}重复n次,n 是一个正整数,匹配了前面一个字符刚好出现了 n 次。{n,}重复n次或更多次,n 是一个正整数,匹配前一个字符至少出现了 n 次。{n,m}重复n到m次,如果 n 或者 m 的值是 0, 这个值被忽略。*的使用*相当于 >=0,可以出现0次或者很多次let rg = /^a*$/,表示,a可以出现0次或者多次+的使用相当于 >=1 可以出现一次或多次?的使用相当于1 || 0{n}的使用(重点掌握)在这里表示字符串a重复了三次{n,}的使用(重点掌握)在这里表示字符串a必须要重复三次以及以上,否则打印false{n,m}的使用(重点掌握)在这里表示字符串a重复的区间是大于等于3 并且 小于等于16结合某个模式应用这个正则表达式其实就可以用来写用户名的表单验证了!括号总结大括号{} : 是 量词符 ,表示重复的次数中括号[] : 是 字符集合, 表示匹配方括号中的任意字符小括号() : 表示优先级!预定义类指的是某些常见模式的简写方式。(简化之前的写法!)举例:我们在这里做一个需求,验证座机号码,座机号码有两种形式 010-12345678 或者 0530-1234567.(注 : 正则表达式中的或者符号为 : |)1.replace替换replace()方法可以实现替换字符串操作,用来替换的参数可以是一个字符串也可以是一个正则表达式写法:
stringObj.replace(regexp/substr,replacement)第一个参数 : 被替换的字符串或正则表达式第二个参数 : 替换为的字符串返回值是一个替换完毕的新字符串2.正则表达式参数/表达式/[switch]
switch(也称为修饰符)按照什么模式来匹配,有三种常用的值:
g : 全局匹配
i : 忽略大小写
g + i : 全局匹配 + 忽略大小写案例:在这里就可以看到正则整体替换的效果了!Email地址:^w+([-+.]w+)@w+([-.]w+).w+([-.]w+)*$手机号码:^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])d{8}$国内座机电话号码(0511-4405222、021-87888822):d{3}-d{8}|d{4}-d{7}身份证号(15位、18位数字),最后一位是校验位,可能为数字或字符X:(d{15}$)|(^d{18}$)|(d{17}(d|X|x)$)帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):1[a-zA-Z0-9_]{4,15}$密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线):2w{5,17}$日期格式:^d{4}-d{1,2}-d{1,2}腾讯QQ号:[1-9][0-9]{4,} (腾讯QQ号从10000开始)到此,关于“JavaScript正则表达式怎么使用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注百云主机网站,小编会继续努力为大家带来更多实用的文章!

相关推荐: C++如何实现验证回文数字

这篇文章主要讲解了“C++如何实现验证回文数字”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++如何实现验证回文数字”吧!解法一:再来看一种很巧妙的解法,还是首先判断x是否为负数,这里可以用一个小 trick…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 04/01 11:14
下一篇 04/01 11:14

相关推荐