正则表达式
语法要点:
正则:强大的字符串匹配工具
1、写法:
js写法:var reg = new RegExp();括号内填要匹配的内容
prel写法: var reg = / /gim; --->> g表示全局匹配,i表示忽略大小写,m表示多行匹配;
2、正则表达式的关键词
search 表示查找需要匹配的内容,输出的结果有两种(index值和-1),匹配到了就输出相应内容的index值,没有匹配成功就输出-1;
split 表示切分字符串
substring 表示获取子字符串 --> 如:str.substring(2,5) 表示获取字符串中第二位到第五位的的字段,但不包括第五位
str.substring(2) 表示从第二位开始到后面所有的数字
charAt 表示获取某个字符 --> 如: str.charAt(3) 表示获取index为3的那个字符
match 把所有匹配的东西全都提取出来
replace 替换所有匹配的字符
test 检验一个字符串知否符合这个正则表达式 --> re.test() -->里面表示匹配内容
test有个特点,即只要字符串有一部分符合要求,就会返回一个true,用^$解决
3、各种正则符号
[] : 表示一个范围,如[0-9] --> 表示一个范围
排除,如[^0-9] --> 表示除0到9以外的其他字符
其中的某个字符,如[abc]d --> 可以匹配 ad bd cd
^ : 表示一个正则的开始
$ : 表示一个正则的结束
. : 表示任意字符
案例:去除html标签的正则 ---> var re= /<[^<>]+>/g
+ : 等价与{1,},表示一次或者一次以上
?: 等价于{0,1},表示0次或者1次
* : 等价于 {0,},表示任意次数,一般不用
例子:邮箱校验
var re = /^\w+@[]a-z0-9]\.[a-z]{2,3}$/
转义字符:
\d : [0-9] \D : [^0-9]
\w : [a-z0-9_] \W : [^a-z0-9]
\s : 空格,空白字符 \S : 除空格外的其他所有字符
量词(个数):
{n} 表示正好出现n次,即会有n个字符出现 如座机电话 [1-9]\d{7}
{n,m} 表示最好出现n次,最多出现m次 如QQ号 [[1-9]\d{4-10}
{n,} 表示最少n次,最多无限次