持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第25天,点击查看活动详情
正则表达式
边界符
^ 表示匹配行首的文本(以谁开始)
$ 表示匹配行尾的文本(以谁结束)
var reg = /^abc/;
字符类
[]方括号 表示一系列可供选择,只要匹配其中一个就可以了
var rg = /[abc]/; 只要包含有a,b,c都返回true
rg.test('andy'); true
var reg = /^[abc]$/; //三选一,只有a,b,c这三个字母才返回true
var reg =/^[a-z]$/ //26个英文字母任何一个字母返回true, -表示a-z的范围
字符组合
var reg1 = /^[a-zA-Z0-9]$/; //26个英文字母(大小写都可以),任何一个字母返回true;
var reg1 = /^[^a-zA-Z0-9]$/; //取反,方括号内部加上^表示取反
量词符
*重复0次或者更多次
+重复1次或更多次
?重复0次或1次
{n}重复n次
{n,}重复n次或更多次
{n,m} 重复n到m次
用户名只能为英文字母数字,下划线或者短横线,用户名长度为6-16位
/^[a-zA-Z0-9-_]{6,16}$/
大括号,量词符,里面表示重复的次数
中括号 字符集合,匹配方括号中的任意字符
小括号表示优先级
预定义类简写模式 方括号内^表示取反
\d 匹配0-9之间的任一数字, [0-9]
\D 匹配所有0-9以外的字符, [^0-9]
\w 匹配任意的字母数字和下划线, [a-zA-Z0-9_]
\W 除所有字母数字下划线以外的字符 [^A-Za-z0-9]
\s 匹配空格(包括换行符,制表符,空格) [\t\r\n\v\f]
\S 匹配非空格的字符 [^/t/r/n/v/f]
常用正则表达式
手机号验证 /^1[3|4|5|7|8]{9}$/;
座机号 /^\d{3}-\d{8}|\d{4}-d{7}$/ /^\d{3,4}-\d{7,8}/
QQ验证 /^[1-9]\d{4,}$/;
昵称验证 /^[\u4e00-\u9fa5]{2,8}$/
正则替换replace
replace方法可以实现替换字符串的操作
用来替换的参数可以是一个字符串或者是一个正则表达式
全部替换 str.replace(/a/g,'b');
忽略大小写 str.replace(/a/gi,'b');