正则及举例
1.基本元字符
1> . 表示任一个非换行的字符
2> () 表示分组和提高优先级
3> [] 表示一个字符, 出现在 [] 中的字符
4> | 或
var rega = /./
var stra = 'adf'
console.log(rega.test(stra)); //true
var reg = /[as]/ // 匹配a或s
var reg1 = /[f]/
var str = 'fadf'
console.log(reg.test(str)); //true
console.log(reg1.test(str)); //true
var reg3 = /|/ //允许匹配多个字符
console.log(reg3.test(str)); //true
2.转义字符:
表示点: .
表示[]: [ ]
表示(): ( )
表示\ : \
var reg4 = /\(asdf\)/
var str4 = '(asdf)'
console.log(reg4.test(str4)); //true
var reg5 = /\[ert\]/
var str5 = '[ert]'
console.log(reg5.test(str5)); //true
var reg6 = /han@\.com/
var str6 = 'han@.com'
console.log(reg6.test(str6)); //true
var reg7 = /han@\/\com/
var str7 = 'han@\com'
console.log(reg7.test(str7)); //true
3.限定元字符
1 * 紧跟前面的一个字符或一组字符出现 0 次到多次
2 + 紧跟在前面的字符出现 1 次到多次
3 ? 紧跟在前面的字符出现 0 次或 1 次
4 {数字} 紧跟在前面的字符出现指定次数
5 {数字,} 紧跟在前面的字符至少出现指定次数
6 {数字, 数字} 紧跟在前面的字符出现的次数范围
var reg = /12*/ //*紧跟前面的字符0次到多次
var reg1 = /45*/
var str = '23412'
console.log(reg.test(str)); //true
console.log(reg1.test(str)); //true
var reg2 = /32+/ //+紧跟前面的字符出现1次到多次
var str2 = '12343232'
var str3 = 'wqe3134'
console.log(reg2.test(str2));
console.log(reg2.test(str3)); //false
var reg3 = /34?/ //?紧跟前面的字符出现0次或1次
var str4 = 'df3432'
var str5 = '3509238'
console.log(reg3.test(str4));
console.log(reg3.test(str5));
var reg4 = /a{2}/ //紧跟a后面的字符串 要出现2次
var str6 = 'aa3454j'
var str7 = 'ahjkada'
console.log(reg4.test(str6)); //true
console.log(reg4.test(str7)); //false 必须紧跟
var reg5 = /[ab]{2,}/ //紧跟ab后面的字符串 最少出现2次
var str8 = 'ab3454j'
var str9 = 'ahjkadabab'
console.log(reg5.test(str8)); //true
console.log(reg5.test(str9)); //false 必须紧跟
4.首尾正则表达式
^ 表示必须以 xxx 开头
$ 表示必须以 xxx 结尾
//匹配手机号
var reg = /^1[3,8,7][1-9]{9}$/
var str = '18739485432'
console.log(reg.test(str));
5.简写元字符
\s 空白字符, 包括空格, tab, 回车换行等
\S 非空白字符
\w 表示字符, 包含字母, 数字, 下划线.
\W 非字符
\d 数字
\D 非数字
var reg = /\d/ //\d表示数字 \D表示非数字
var reg1 = /\D/
var str = '23'
console.log(reg.test(str));
console.log(reg1.test(str));
var reg2 = /\w/ //\w表示字符 数字 下划线 字母 \W表示非字符
var str1 = '23sf_'
console.log(reg2.test(str1));
var reg3 = /\W/ //\w表示字符 数字 下划线 字母 \W表示非字符
var str2 = ' '
console.log(reg3.test(str2));
var reg4 = /\s/ //\s表示空白字符 \S表示非空白字符