正则表达式
创建正则表达式的对象
语法:
var 变量 = new RegExp("正则表达式", "匹配模式");
使用字面量来创建正则表达式
语法: var 变量 = /正则表达式/匹配模式
使用字面量的方式创建更加简单
使用构造函数创建更加灵活
test()
使用这个方法可以用来检查一个字符串时候符合正则表达式的规则
如果符合则返回true, 否则返回false
匹配模式
在构造函数中可以传递一个匹配模式作为第二个参数:
i 忽略大小写
g 全局匹配模式
量词
通过量词可以设置一个内容出现的次数
量词只对{}前的一个内容起作用
{n} 正好出现 n 次
eg: reg = /a{3}/ aaa | /ab{3}/ abbb | /(ab){3}/ ababab
{m,n} 出现 m 到 n 次 {m,} 出现 m 次以上 + 至少一个,相当于 {1,} * 0个或多个,相当于 {0,} ? 0个或一个, 相当于 {0,1}
其他
^ 表示开头
$ 表示结尾
如果在正则表达式中,同时使用 ^ $则要求字符串必须完全符合正则表达式
. 表示任意字符
\ 表示 转义字符
\. 表示 .
\\ 表示 \ 字符串中也需要写 \\ 表 \
注意: 使用构造函数时,由于它的参数是一个字符串,而 \ 是字符串中转义字符, 如果要使用 \ 则需要使用 \\ 来代替
\w - 任意 字母数字 _ [A-z0-9] \W - 除了 字母数字 _ [^A-z0-9] \d digit 零到九中的任一数字; - 任意的数字 [0-9] \D - 除了数字 [^0-9] \s spacing 字距,行距; - 空格 \S - 除了空格 \b boundary 边界; - 单词边界 \B - 除了单词边界
var reg = new RegExp("a"); 检查字符串是否含有字符串aa 严格区分大小写 var reg = new RegExp("aa", "i"); 忽略大小写啦啦啦啦啦啦啦 true
// 1. 创建一个字符串, 用来检测一个字符串是否是一个合法手机号 // 1,11位数字 2,第一位以 1 开头 3,第二位不能是0,1,2即3-9的任意数字 4,三位以后九个任意数字\ // /^1[3-9][0-9]{9}$/ // 2. 创建一个正则表达式检查一个字符串是否含有单词 child // reg = /\bchild\b/ // 3. 创建一个正则表达式自动去除掉字符串中的空格,即使用 "" 来替换空格 // let str = " admin " // 去除开头的空格, // str = str.replace(/^\s*/,"") // 去除结尾的空格 // str = str.replace(/\s*$/, "") //总和 str = str.replace(/^\s*|\s*$/g, "") // 电子邮件的正则表达式 // 电子邮件 // hello @abc.com.cn/ // 任意字母数字下划线 .任意字母数字下划线(有无都可) @ 任意数字字母 .任意字母(2-5位).任意字母(2-5位,有无都可) // \w{3,} (\.\w+)* @ [A-z0-9]+ (\.[A-z]{2,5}){1,2} // var emailReg = /^\w{3,}(\.\w+)*@[A-z0-9]+(\.[A-z]{2,5}){1,2}$/