量词和修饰符
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>量词和修饰符</title>
</head>
<body>
<script>
/**
* \d 匹配一个数字 [0-9]
* \D 匹配一个非数字字符 [^0-9]
* \w 匹配一个单字字符 (字母、数字 或者下划线) [A-Za-z0-9_]
* \W 匹配一个非单字字符 [^A-Za-z0-9_]
* \s 匹配一个空白字符, 包括空格 制表符 和 换行符
* . 任意字符
* ^ 匹配开头
* $ 匹配结尾
*
* new RegExp()写法 需要多写一个反斜杠
* 例子 /^\d$/ new RegExp('^\\d$')
*/
/** 量词
* * 匹配前一个表达式0次或者多次 等价于{0,}
* + 匹配前一个表达式1次或者多次 等价于{1,}
* ? 匹配前一个表达式0次或者1次 等价于{0,1}
* {n} n 是一个正整数 匹配了前面一个字符刚好出现了n 次
* {n,} n 是一个正整数 匹配了前面一个字符至少出现了n 次
* {n,m} n 和 m 都是一个正整数 匹配前面的字符至少出现了n次,最多m次
* () 代表一个整体
*/
/** 修饰符
* i 不区分大小写搜索
* g 全局搜索
*/
// 案例1 验证11位数字 并且以1 开头
// var str = '23522679763'
// var str2 = '13522679763'
// var str3 = '135226797635'
// var reg = /^1\d{10}$/
// console.log(reg.test(str)); // false
// console.log(reg.test(str2)); // true
// console.log(reg.test(str3)); // false
// 案例2 验证 以字母开头 中间是任意数字(最少1位)构成 并以字母结尾
// var str = 'm21312r'
// var str2 = '213123'
// var str3 = 'm21312'
// var reg = /^[a-zA-z]\d+[a-zA-z]$/
// console.log(reg.test(str)); // true
// console.log(reg.test(str2)); // false
// console.log(reg.test(str3)); // false
// 案例3 验证网址 以www.开头,中间任意位的字符(字母数字下划线)
// 最后以 .com 结尾,也可以以 .com.cn 结尾
var str = 'www.34343.com'
var str2 = 'www.34343.com.cn'
var str3 = 'www.34343.com.n'
// () 代表一个整体
var reg = /^www\.\w+\.com(\.cn)?$/
console.log(reg.test(str)); // true
console.log(reg.test(str2)); // true
console.log(reg.test(str3)); // false
</script>
</body>
</html>
我是Eric,手机号是13522679763

浙公网安备 33010602011771号