1.预定义字符集
代码 | 说明 |
---|---|
. | 匹配除换行符以外的任意字符 |
\w | 匹配字母或数字或下划线 |
\s | 匹配任意的空白符 |
\d | 匹配数字 |
\b | 匹配单词的开始或结束 |
^ | 匹配字符串的开始 |
$ | 匹配字符串的结束 |
2.备选字符集
规定某一位字符的备选字符列表
特点:必须且只能多选一
[0-9]//一个数字
[a-z]//一个小写字母
[A-Z]//一个大写字母
[0-9a-zA-Z]//一个数字或字母
上天,上海
上[天海]
将字符串中的上海,上天两个字符换成**
var str ="上海,上天,上哪儿去";
var reg =/上[海天]/g;
console.log(str.replace(reg,"*"))
//输出*,*,上哪儿去
将字符串中的数字换成**
var str = "jhfdslfs8289283921";
/* [0-9] */
var reg = /[0-9]/g;
console.log(str.replace(reg,"*"))
3.量词:定字符集出现的次数
3.1 确定数量
{m,n} -->至少m个,最多n个
{m,} -->m个以上
{m} -->必须m个
3.2 不确定数量
? -->一个或0个
+ -->1个以上
* -->多个或没有
4.test()方法
test() 方法用于检测正则表达式是否匹配字符串的一部分,返回boolean值
语法reg.test(str); 返回boolean值
var pwd = "12115fdsfsd"; //
var reg = /[0-9]{5,7}/; 密码5-7num
console.log(reg.test(pwd)); //true
5.贪婪模式和懒惰模式
5.1贪婪模式
给量词的情况下 默认取最大值 默认是贪婪的
var str = "2323232hello";
var reg = /\d{3,6}/;
console.log(str.replace(reg,"*"))
输出*2hello
5.2懒惰模式
在量词后用?表示懒惰,取最小值
var str = "2323hello";
var reg = /\d{3,6}?/;
console.log(str.replace(reg,"*"))
输出 *3hello
6.匹配位置
6.1匹配
- ^ 以什么开头
- $ 以什么结尾
- /^\s+|\s+$/g 以空格开头和以空格结尾 相当于trim()
何时使用:仅匹配开头的规则和结尾的规则时使用
6.2.严格匹配
/^ $/严格匹配/ 为严格匹配
tips:只要验证时,必须前加^,后加$!
var str="12344738392"
var reg=/^\d{11}$/
console.log(reg.test(str)) //true 必须以数字开头和数字结尾并且只有11位