?最多出现一次
an?d 可以匹配 ad 或者 and,? 问号代表前面的字符n最多只可以出现一次(0次或1次)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script>
var a="and";
var b="ad"
//test值有两个 true代表有,false代表无
//测试变量a里的值是否有a
console.log(/a/.test(a)); //true
//测试变量a是否符合条件 n最多可以出现1次 0-1次
console.log(/an?d/.test(a)); //true
console.log(/an?d/.test(b)); //true
</script>
</body>
</html>
+ 至少出现一次
an+d 可以匹配 and 或者 annd,+问号代表前面的字符n最少要出现一次(1次或多次)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script>
var a="and";
var b="ad"
var c="annoy"
//test值有两个 true代表有,false代表无
//测试变量a是否符合条件 n最少要有一次
console.log(/n+/.test(a)); //true
console.log(/n+/.test(b)); //false
console.log(/n+/.test(c));//true
//这里这样写是为了区别+ ?的不同
console.log(/an+oy/.test(c));//true
console.log(/an?oy/.test(c));//false
</script>
</body>
</html>
* 可以出现0次,1次或多次
an*d 可以匹配 ad或者and 或者 annd,*问号代表前面的字符n可以不出现,可以出现0次,可以出现多次
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script>
var a="and";
var b="ad"
var c="annoy"
//test值有两个 true代表有,false代表无
//测试变量a是否符合条件 n可以没有,可以有一个,可以有多个
console.log(/n*/.test(a)); //true
console.log(/n*/.test(b)); //true
console.log(/n*/.test(c));//true
</script>
</body>
</html>
[ ] 里面的值会一个个的进行匹配
[a] 只要里面与它相匹配的值,就会找出来
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script>
var a="and";
var b="abcdesfg"
console.log(/[ags]/.test(a)); //true 有a没有n d
console.log(/[a]/.test(b));//true
console.log(/[ab]/.test(b));//true
console.log(/[abde]/.test(b));//true
console.log(/[abcdg]/.test(b));//true
console.log(/[h]/.test(b));//false 没有h
</script>
</body>
</html>
练习1
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script>
var str=/\d{3}/;
var a=123;
var c=1;
var reg=new RegExp(str,"g")
console.log(reg.test(a),reg.test(c));
</script>
</body>
</html>