JS中的正则表达式
一、正则表达式是什么?
是描述字符串规则的表达式,用于匹配字符组合的规则,是一个对象
二、正则表达式的特点
1.非常灵活
2.逻辑性强
3.可用简单方式对字符串进行复杂的控制
三、正则表达式的创建与测试
var 变量名 = /表达式/
var 变量名 = new RegExp(/表达式/)
正则表达式使用test()进行测试
三、正则表达式的修饰符
1、/表达式/[模式修饰符]
[模式修饰符] 是可选的,通过它可以对正则表达式进行进一步的设置
g:实现全局匹配
i:忽略大小写
m:实现多行匹配
2、边界符
^:匹配行首文本(以给定字符开头的)
$:匹配行尾文本(以给定字符结尾的)
3、预定义符
. :表示匹配除了'\n'以外的任何单个字符
\d:匹配0-9之间的任意字符,相当于[0-9]
\D:匹配0-9之外的任意字符,相当于[^0-9]
\w:匹配任意字母、数字、下划线,相当于[a-zA-Z0-9]
\W:匹配任意字母、数字、下划线以外的所有字符,相当于[^a-zA-Z0-9]
\s:匹配空格
\S:匹配非空格字符
4、转义字符
“\”,通过可以将正则表达式中的修饰符、边界符、预定义符等转换为普通字符。
5、字符匹配范围
[cat]:匹配字符集合中任意一个c、a、test
[^cat]:匹配除c、a、t之外的字符
[A-Z]:匹配所有大小字母
[^A-Z]:除了大写字母之外的其他字符
[a-z]
[^a-z]
[a-zA-Z0-9]:匹配任意字母和数字
[^a-zA-Z0-9]:匹配除了数字、字母之外的其他字符
[\u4e00-\u9fa5]:匹配所有中文字符
强调:var rg = /^【abc】$/; 不能同时用a、b、c去匹配字符串的开头和结尾
6、如果允许用户输入英文字母(不区分大小写)、数字、短横线-、下划线_的正则表达式为:
var reg = /^[a-zA-Z0-9_-]$/;
7、取反符:[ ]和 ^ 结合使用,即’^ [ ]’
8、量词符:用来设定某个模式出现的次数
? :匹配?前面的字符0次或1次
+ :匹配+前面的字符1次或多次
* :匹配*前面的字符0次或多次
{n}:匹配{}前面的字符n次
{n,}:匹配{}前面的字符至少n次
{m,n}:匹配{}前面的字符次数m~n之间
9、括号字符
catch|er --> 能够匹配的是:catch 、er
cat(ch|er) --> 能够匹配的是: catch、cater
abc{2} --> 能够匹配的是:abcc
a(bc){2} --> 能够匹配的是:abcbc
10、正则表达式的优先级:转义字符、圆括号和中括号、限定符、定位点和序列、或操作
四、String中的方法
1、match():根据正则匹配出符合要求的内容并保存在数组中,匹配失败返回false
2、search():方法可以返回指定模式的子串在字符串首次出现的位置
五、总结
本篇文章主要讲了正则表达式的具体使用方法,正则表达式在前端的登陆注册界面的用户名和密码验证部分有很大的作用。欢迎各位参考。