正则表达式的组成
是由元字符和限定符组成的一个式子
var reg = new RegExp('正则表达','匹配模式')
var reg1 = /[0-9]/g
匹配模式 g 全局匹配 i 忽略大小写
元字符
.表示的是:除\n(空格换行)外任意的字符
[] 表示的是:范围, [0-9] 表示的是0到9之间的任意的一个数字, "789" [0-9]
* [1-7] 表示的是1到7之间的任意的一个数字
* [a-z] 表示的是:所有的小写的字母中的任意的一个
* [A-Z] 表示的是:所有的大写的字母中的任意的一个
* [a-zA-Z] 表示的是:所有的字母的任意的一个
* [0-9a-zA-Z] 表示的是: 所有的数字或者是字母中的一个
* [] 另一个函数: 把正则表达式中元字符的意义干掉 [.] 就是一个.
* | 或者 [0-9]|[a-z] 表示的是要么是一个数字,要么是一个小写的字母
* () 分组 提升优先级 [0-9]|([a-z])|[A-Z]
* ([0-9])([1-5])([a-z]) 三组, 从最左边开始计算
* (()(()))
限定符
* *表示的是:前面的表达式出现了0次到多次
* [a-z][0-9]* 小写字母中的任意一个 后面是要么是没有数字的,要么是多个数字的
* "fdsfs3223323" [a-z][0-9]*
* + 表示的是:前面的表达式出现了1次到多次
* [a-z][9]+ 小写字母一个后面最少一个9,或者多个9
* "fesfewww9fefds"
* ? 表示的是:前面的表达式出现了0次到1次,最少是0次,最多1次 ,另一个含义:阻止贪婪模式
* [4][a-z]? "1231234ij"
* 限定符:限定前面的表达式出现的次数
* {} 更加的明确前面的表达式出现的次数
* {0,} 表示的是前面的表达式出现了0次到多次,和 *一样的
* {1,} 表示的是前面的表达式出现了1次到多次,和 +一样的
* {0,1} 表示的是前面的表达式出现了0次到1次,和 ?一样的
* {5,10} 表示的是前面的表达式出现了5次到10次
* {4} 前面的表达式出现了4次
* {,10} 错误的========不能这么写
* ^ 什表示的是以么开始,或者是取非(取反) ^[0-9] 以数字开头
* ^[a-z] 以小写字母开始
* [^0-9] 取反,非数字
* [^a-z] 非小写字母
* [^0-9a-zA-Z_]
* $ 表示的是以什么结束 [0-9][a-z]$ 必须以小写字母结束
* ^[0-9][a-z] 相当于是严格模式 "3f2432e" "4f"
* \d 数字中的任意一个,
* \D 非数字中的一个
* \s 空白符中的一个
* \S 非空白符
* \w 非特殊符号
* \W 特殊符号
* \b 单词的边界
* . 除了\n以外的任意一个单个字符
* [] 范围
* () 分组,提升优先级
* | 或者
* * 0-多次
* + 1-多次
* ? 0-1次
* {0,} 和*一样
* {1,} 和+
* {0,1} 和?
* \d 数字中的一个
* \D 非数字
* \s 空白符
* \S 非空白符
* \W 特殊符号
* \w 非特殊符号 _
* ^ 取反,以什么开始
* $ 以什么结束
* \b 单词边界
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>正则表达式</title>
</head>
<body>
<script type="text/javascript">
var reg = new RegExp(/\d{5}/)
var str = '中国移动的客服电话10086'
var flag = reg.test(str)
console.log(flag)
//字面量的方式创建正则表达式
var reg1 = /\d{1,5}/
var lag4 = reg1.test('小苏的幸运数字是888')
console.log(lag4)
console.log('-------------------------')
console.log(/[a-zA-Z]+/.test('hello'))
console.log(/./.test('除了空格与换行外的任意字符'))
console.log(/.*/.test('出现0到多个'))
console.log(/.+/.test('出现1到多个'))
console.log(/.?/.test('出现0到1个'))
console.log(/[0-9]/.test('辅导辅导辅导55'))
console.log(/[a-z]/.test('what'))
console.log(/[A-Z]/.test('Aer'))
console.log(/b|(are)/.test('bhjjj'))
console.log(/[a-z]{2,3}/.test('a56666'))
console.log(/\d/.test('13123'))//\d表示的任意的数字中的一个
console.log(/\d*/.test('09089i'))
console.log(/\d+/.test('123214'))
console.log(/\d{0,}/.test('123214'))//和*一样 出现0到多个
console.log(/\d{0,1}/.test('123214'))//和?一样 出现0到1个
console.log(/\d{1,}/.test('123214'))//和+一样 出现1到多个
console.log(/\D/.test('efr')) // \D表示非数字中的任意一个
console.log(/\s/.test(' ')) // \s表示的空白符中的任意一个
console.log(/\S/.test('sdsdsd')) // \S表示的非空白符中的任意的一个
console.log(/\W/.test('@@@@____++++')) // \W表示的 是 特殊符号中的任意一个
console.log(/\w/.test('_')) // \w表示的是非特殊符号中的任意一个
</script>
</body>
</html>