1. 正则表达式概述
正则表达式:也叫规则表达式,按照一定的规则组成的一个表达式 正则表达式的作用:主要是匹配字符串的,验证表单,过滤敏感词(替换) 正则表达式的组成:是由元字符或者是限定符组成的一个式子
2. 正则表达式对象创建
构造函数创建对象:
var reg = new RegExp ( /\d{1,5}/ ) ;
字面量:
var reg = /\d{1,5}/ ;
3. 正则表达式的方法
序号 方法 参数 描述 返回值 1 .test(字符串) 字符串 验证字符串是否符合正则表达式的规则 布尔值
var reg = new RegExp ( /\d{1,5}/ )
reg. test ( "呵呵123" ) ;
/ \d{ 1 , 5 } / . test ( "呵呵123" )
4. 边界符(位置符)
序号 边界符 描述 1 ^ 在 [] 外面以什么开始,在 [] 里面取非(取反) 2 ^[0-9] 以数字开头 3 ^[a-z] 以小写字母开头 4 [^0-9] 取反,非数字 5 [^a-z] 非小写字母 6 [^0-9a-zA-Z_] 表示的是特殊字符 7 $ 表示的是以什么结束 8 [0-9][a-z]$ 必须以小写字母结束 9 ^[0-9][a-z]$ 严格模式,(一个数字开头加一个字母结束)
5. 量词符
序号 量词符 描述 1 * 前面的表达式出现了0--多次 2 [a-z][0-9]* 小写字母中的任意一个 后面是要么是没有数字的,要么是多个数字的 3 + 前面的表达式出现了1--多次 4 [a-z][9]+ 小写字母一个,后面最少一个9,或者多个9 5 ? 前面的表达式出现了0次或1次 6 [4][a-z]? 前面一个4,后面任意小写字母出现0或1次 7 {} 更加的明确前面的表达式出现的次数 8 {3} 表示的是前面的表达式出现了3次 9 {0,} 表示的是前面的表达式出现了0--多次(和 *一样的) 10 {1,5} 表示的是前面的表达式出现了1--5次
6. 优先级
[ 0 - 9 ] | ( [ a- z] ) | [ A - Z ]
( [ 0 - 9 ] ) ( [ 1 - 5 ] ) ( [ a- z] )
7. 元字符
序号 元字符 描述 1 . 除了\n以外的任意的一个字符 2 [] 范围 3 [0-9] 0到9之间的任意的一个数字 4 [0-9a-zA-Z] 所有的数字或者是字母中的一个 5 | 或者 6 [0-9]|[a-z] 表示的是要么是一个数字,要么是一个小写的字母
8. 简写
序号 简写 描述 1 \d 数字中的任意一个 2 \D 非数字中的一个 3 \s 空白符中的一个 4 \S 非空白符 5 \w 非特殊符号 6 \W 特殊符号 7 \b 单词的边界
9. 正则表达式的参数:/表达式/[switch]
正则表达式中:g 表示的是全局模式匹配(就是字符串中所有匹配的部分) 正则表达式中:i 表示的是忽略大小写 gi可以一起写,就是忽略大小写全局匹配
var str= "中国移动:10086,中国联通:10010,中国电信:10000" ;
var array = str. match ( /\d{5}/g ) ;
console. log ( array) ;
10. 正则表达式的替换(String的方法)
replace(参数,参数)方法可以实现替换字符操作,用来替换的参数可以是一个字符串, 也可以是一个正则表达式; 第一个参数:被替换的字符串或者正则表达式 第二个参数:替换为的字符串 返回值是一个替换完的新字符串
'abcda' . replace ( /a/ , "xx" )
'abcda' . replace ( /a/g , "xx" )