javascript技巧

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript技巧 > js正则表达式常用方法

js正则表达式常用方法梳理(附代码案例)

作者:资深前端之路

正则表达式在我们日程的工作项目中,应该是一个经常用到的技能,在做一些字符的匹配和处理的过程中,发挥了很大的作用,这篇文章主要给大家介绍了关于js正则表达式常用方法的相关资料,需要的朋友可以参考下

1、常用的方法

RegExp:定义正则字面量。常用定义new RegExp(),或者//定义。

test:执行正则表达式的字面量方法进行匹配。匹配失败返回false,匹配成功返回true。

exec:获取正则匹配的片段,返回值是一个数组,第一个索引是匹配的字符串内容;如果未匹配,返回null。在执行的过程中要注意,exec方法默认只捕获第一个获取的字符串内容,如果想获取多个,需要在正则字面量中加入标识符g(全局标识符),第二次捕获的时候,就会按照顺序捕获第二个相同的内容。

在使用限定符{n,m}时,exce会默认捕获最大长度的字符串。如\d{1,3}进行匹配时,会返回最大的匹配长度。如果像获取最小的长度,可以在限定符后面加上?,如\d{1,,3}?。具体的代码,可以看代码案例

注意:正则主要是用来匹配字符串的方法,所以原字符中的内容只是值,与数字的类型没有关系。

2、元字符

3、边界符

注意两者同时使用时,代表,开头必须是xx,且结尾必须是xx,是两种条件同时存在。

4、限定符

5、特殊符

6、常用表达式

以下是常用的正则表达式规则,以下是自己常用的一些表达式规则,可以直接复制粘贴:

邮箱地址:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
网址:[a-zA-z]+://[^\s]* 或 ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$
国内手机号:^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$
国内电话号:^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$
身份证号(15位、18位数字):^\d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$

7、收获总结

在回顾正则元字符的过程中,表达式的规则,首先定义包含的字符格式,然后限定字符串长度,接着确定是否有边界限制,如以xx开头,以xx结尾,最后是进行匹配执行。将按照这个顺序来理解正则,就容易很多。

8、代码案例

const initData3 = ()=>{
  let reg = /\d{1,3}/
  let reg2 = /\d{1,3}?/
  let str = "now is 1233434"
  let str2 = "now is 12"
  let a = reg.exec(str)
  let b = reg.exec(str2)
  let c = reg2.exec(str)
  let d = reg2.exec(str2)
  console.log('最大1',a)
  console.log('最大2',b)
  console.log('最小1',c)
  console.log('最小2',d)
}

附:校验密码强度

^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$

包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间。

总结 

到此这篇关于js正则表达式常用方法的文章就介绍到这了,更多相关js正则表达式常用方法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文