一、什么叫正则表达式?
在大部分用户输入数据模糊匹配时,页面余姚判断用户的输入是否符合规范,这是利用正则表达式就可以实现判断,即正则表达式是指定的判定标准。
二、正则表达式分类
1.关键词原文(最简单的正则)
2.字符集:规定字符串中某个字符备选字符列表
[0123456789] [0-9]
如果备选字符是连续的,可以用-省略中间的字符
(1) 每个字符集只能匹配一个字符
(2)备选字符集中至少有一个匹配上
lg:[a-zA-Z0-9]:所有的应为字母和数字
[\u4e00-\u9fa5]:一个汉字
特殊:【^652】除了652以外
3.预定义字符集
\w 一位数字字母或_
\d 一位数字
\D 除了 \d
digital 数位
\s 一位空字符 看不见的字符(空格 、tab)
. 一位任意字符(包含数字,字母,标点…)
\ S 除了\s
\W 查找非单词字符(英文字母、数字、_)
\w 除了 \w(查找单词字符)
4.量词:规定符合返回的字符出现的次数用于字符的后面
(1).有明确的边界
字符集{2,3} 必须最少出现2次,最多出现3次
字符集{2,} 必须最少出现2次,多了不限制
字符集{3} 必须出现3次
(2) 没有边界的数量
字符集? 可有可无,最多一次(0次或一次)
字符集* 可有可无,多了不限制(0到多个)
至少出现一次
字符集+ 字符集[1]
匹配指定的位置
字符串开头:^
字符串结尾:$
选择:“或”
规则1| 规则2…
分组
将多个字符集组成一组
例如:手机号
(+86 |0086)?\s* 1[345789] [0-9]{9}
邮箱
\w+@[0-9a-zA-Z]{2,}(.[A-Za-z0-9]{2,3}){1,2}
5.支持正则表达式的String 对象方法
(1)match 找到一个或多个正则表达式的匹配。
语法:str = “No zuo no die no can no bibi”;
var arr = str.match(/no/ig);
默认只找第一个(不添加g的时候),返回的数据,一个数组(伪数组,当成数组来用) 下标 内容正则匹配加上了g(全局匹配) 返回一个数组, 没有找到的时候,返回null。
(2)search 检索与正则表达式相匹配的值。
判断字符串中是否包含符合规范的敏感词 返回值 找到返回下标,找不到返回-1
注;'要执行忽略大小写的检索,请追加标志 i。
(3).string.test():返回值为一个boolean类型 一般用来做验证
(4) exec() 查找关键词,匹配内容同时找到关键词的所在位置
返回值:本次找到的一个关键词及其位置
来源:CSDN
作者:Courage-lu
链接:https://blog.csdn.net/weixin_45846805/article/details/103586374