前端正则表达式,最简单的

39 篇文章 5 订阅
3 篇文章 0 订阅
这篇博客详细介绍了JavaScript中的正则表达式,包括构造函数创建正则、字面量创建、常用方法如match、test和replace的使用。此外,还讲解了匹配单字符、正则选项、边界匹配、字符匹配、量词匹配、分组、特殊字符和取非匹配等核心概念。示例丰富,适合初学者和进阶者学习。
摘要由CSDN通过智能技术生成

目录

一.和正则相关的方法

二、匹配单字符

三、正则选项

四、边界匹配

五、字符匹配

六、量词匹配

七、分组

八、特殊字符

九、取非匹配

十、经常用到的正则表达式(未完待续)


一.和正则相关的方法

1.使用构造函数创建

使用构造函数创建时,会更加灵活,因为参数还可以传递变量

var 变量 = new RegExp('正则表达式') //注意参数是字符串
var 变量 = new RegExp('正则表达式','匹配模式') //注意两个参数都是字符串

匹配模式作为第二个参数,这个参数可以是

  • i 忽略大小写,这个值指的是是ignore
  • g 全局匹配模式,这个值指的是global
  • 有一个算法题求的是一个字符串中某个字符的出现次数,就可以用正则来做
    const matchReg = new RegExp(`${key}`, 'ig')       //这里的key指的就是某个字符
    const matchRes = str.match(matchReg) || []        //这里的str指的是字符串

2.使用正则表达式的格式  “/ /”(使用字面量创建)

一般常用的跟正则相关的方法有 matchtest 和 replace
其中 matchreplace 都是字符串上的方法, test 是正则对象上的方法,返回true、false。

1.test() ,一般用于表单验证
(1)正则对象方法,检测测试字符串是否符合该规则,返回true和false,参数(测试字符串)
(2)Boolean = 表达式.test("要验证的内容");

2.replace()

(1)replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串

(2)语法格式:(返回值是新字符串)
需要匹配的对象.replace(正则式/字符串,替换的目标字符)

3.match()

正则表达式的匹配模式支持的2个标志
g:表示全局模式(global),即模式将被应用于所有字符串而非发现一个而停止
i:表示不区分大小写(ease-insensitive)模式,在确定匹配想时忽略模式与字符串的大小写

1.返回值,存放匹配结果的数组。如果没有找到匹配的文本就会返回一个null

2.如果正则表达式有g修饰符,所有匹配的值会按照数组格被返回。不会返回下面的捕获组

  如果正则表达式没有g修饰符,只有第一个匹配到的值会被返回,同时返回该值的捕获组,包括三个属性:group,index,input

二、匹配单字符

  1./string/       可以匹配具体的一个字符串,比如string

  2./[word]/       这里中括号表示匹配中括号里面word的任意单个字符

  3./[a-d]/        这里可以给出一个范围,代表匹配字母表顺序中a到d中的任意单个字符

  4./[1-5]/        这里代表匹配给出范围中数字1-5

下面对内容进行一个控制台输出

三、正则选项

常用的有(这里支持多个使用,比如全局匹配并忽略大小写/ig)

  1. i       代表忽略大小写
  2. m      代表多行匹配
  3. g-      代表全局匹配

str="hello world1552

四、边界匹配

1. ^  匹配字符串的开头

2. $ 匹配中字符串的结尾

str="helloworld1552

五、字符匹配

1.  . (点)     可以匹配除了换行符外的任意字符

2. \d                可以匹配任意数字

3. \D               可以匹配任意非数字

4. \s                可以匹配任意空白字符

5. \S                匹配任意非空白字符

6. \n                 匹配换行

7.  \w                可以匹配数字、字母、下划线

具体使用见下str="hello world1552

六、量词匹配

1.  *    匹配0次或者多次

2.  +    匹配一次或多次

3.  ?    匹配0次或1次

4.  {3}    匹配3次

5.  {2,4}   匹配2/3或4次

6.   {2,}   匹配两次或多次

str="hello 15 52

七、分组

()在正则表达式中代表分组,一般在match方法中用来返回全匹配加上多个分组结果,如果使用了g选项,则只能返回全匹配。如果在小括号里使用了’|’,代表或.

八、特殊字符

匹配特殊符号的时候需要加反斜杠

JS中的反斜杠有   ^  \  .  *  +  ?  ()  [ ]  {}  |  

九、取非匹配

在[ ]里面使用 ^,这里就会表示匹配非此符,综上共有两个用途

  1. 如果用于正则表达式的开头,代表匹配字符串的开头
  2. 如果用于[ ] 里面,则表示匹配非此符

十、经常用到的正则表达式(未完待续)

1. value.replace(/\s/g,"")     //去掉字符串里面的空格

2.value. .replace(/[^\d\s]/g,"")   //去掉不是空格和数字的字符 银行卡号电话等数字的格式化

3./[^A-Za-z]    //非字母

4.(/^\d{n}$/) //验证n位数字

5.中文字符的正则表达式:[\u4e00-\u9fa5]

6.去除输入的首位空格:str.replace(/(^\s*)|(\s*$)/g, "")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值