目录
1 基本元字符
<!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>
console.log('|||||||||||||||||||||||||||||||||||||||')
console.log('-----------------基本元字符------------------')
console.log('|||||||||||||||||||||||||||||||||||||||')
var reg = /\d/
console.log('💛 var reg = /\d/')
console.log('【abc】', reg.test('abc'), ' ——》 包含1个数字校验', '❌') //
console.log('【abc1】', reg.test('abc1'), ' ——》 包含1个数字校验', '✌')
var reg = /\d\d/
console.log('💛 var reg = /\d\d/')
console.log('【abc12】', reg.test('abc12'), '——》 任意位置的2个数字校验', '✌')
console.log('【abc12】', reg.test('1abc2'), '——》 任意位置的2个数字校验', '❌')
var reg = /\D/
console.log('💛 var reg = /\D/')
console.log('【a12】', reg.test('a12'), '——》 必须包含一位非数字校验', '✌') //true
console.log('【12】', reg.test('12'), '——》 必须包含一位非数字校验', '❌')
console.log('【abc】', reg.test('abc'), '——》 必须包含一位非数字校验', '✌') //true
var reg = /\D\D/
console.log('💛 var reg = /\D\D/')
console.log('【a12】', reg.test('a12'), '——》 连续位置的2个非数字校验', '❌')
console.log('【12】', reg.test('12'), '——》 连续位置的2个非数字校验', '❌')
console.log('【abc】', reg.test('abc'), '——》 连续位置的2个非数字校验', '✌')
console.log('【a1c】', reg.test('a1c'), '——》 连续位置的2个非数字校验', '❌')
var reg = /\Dk\D/
console.log('💛 var reg = /\Dk\D/')
console.log('【1k1】', reg.test('1k1'), ' ——》 k的相邻非数字校验', '❌')
console.log('【1ka】', reg.test('1ka'), ' ——》 k的相邻非数字校验', '❌')
console.log('【1kaa】', reg.test('1kaa'), ' ——》 k的相邻非数字校验', '❌')
console.log('【eka】', reg.test('eka'), ' ——》 k的相邻非数字校验', '✌')
console.log('【abc】', reg.test('abc'), ' ——》 k的相邻非数字校验', '❌')
var reg = /\s/
console.log('💛 var reg = /\s/')
console.log('【123】', reg.test('123'), ' ——》 连续2位空白(空格)', '❌')
console.log('【1 3】', reg.test('1 3'), ' ——》 1位空白(空格)', '✌')
console.log('【 12】', reg.test(' 12'), ' ——》 1位空白(空格)', '✌')
console.log('【12\naa】', reg.test('12\naa'), ' ——》 1位空白(换行)', '✌')
console.log('【12\n\naa】', reg.test('12\n\naa'), ' ——》 1位空白(换行)', '✌')
console.log('【 】', reg.test(' '), ' ——》 1位空白(tab)', '✌')
var reg = /\S/
console.log('💛 var reg = /\S/')
console.log('【1 3】', reg.test('1 3'), ' ——》 1位非空白(空格)', '✌')
console.log('【12 】', reg.test('12'), ' ——》 1位非空白()', '✌')
console.log('【12\naa】', reg.test('\n'), ' ——》 1位非空白(换行)', '❌')
console.log('【 12aa】', reg.test(' 12aa'), ' ——》 1位空白(空格 缩进 换行)', '✌')
console.log('【12aa】', reg.test('12aa'), ' ——》 1位空白(空格 缩进 换行)', '✌')
var reg = /\w/
console.log('💛 var reg = /\w/')
console.log('【&*】', reg.test('&*'), ' ——》 包含字母 数字 下划线 1位 检测', '❌')
console.log('【a---】', reg.test('a---'), ' ——》 包含字母 数字 下划线 1位 检测', '✌')
console.log('【_】', reg.test('_'), ' ——》 包含字母 数字 下划线 1位 检测', '✌')
console.log('【1】', reg.test('1'), ' ——》 包含字母 数字 下划线 1位 检测', '✌')
var reg = /\w\w/
console.log('💛 var reg = /\w\w/')
console.log('【a-1--】', reg.test('a-1--'), ' ——》 包含字母 数字 下划线 连续2位 检测', '❌')
console.log('【1-2】', reg.test('1-2'), ' ——》 包含字母 数字 下划线 连续2位 检测', '❌')
console.log('【12】', reg.test('12'), ' ——》 包含字母 数字 下划线 连续2位 检测', '✌')
console.log('【_】', reg.test('_'), ' ——》 包含字母 数字 下划线 连续2位 检测', '❌')
console.log('【__】', reg.test('__'), ' ——》 包含字母 数字 下划线 连续2位 检测', '✌')
console.log('【_ _】', reg.test('_ _'), ' ——》 包含字母 数字 下划线 连续2位 检测', '❌')
var reg = /\W/
console.log('💛 var reg = /\W/')
console.log('【&*】', reg.test('&*'), ' ——》 非字母 数字 下划线 1位 检测', '✌')
console.log('【a-】', reg.test('a-'), ' ——》 非字母 数字 下划线 1位 检测', '✌')
console.log('【1_@】', reg.test('1_@'), ' ——》 非字母 数字 下划线 1位 检测', '✌')
console.log('【1】', reg.test('1'), ' ——》 非字母 数字 下划线 1位 检测', '❌')
var reg = /\W\W/
console.log('💛 var reg = /\W\W/')
console.log('【&*】', reg.test('&*'), ' ——》 非字母 数字 下划线连续2位 检测', '✌')
console.log('【&1*】', reg.test('&1*'), ' ——》 非字母 数字 下划线连续2位 检测', '❌')
console.log('【12】', reg.test('12'), ' ——》 非字母 数字 下划线连续2位 检测', '❌')
console.log('【12!@】', reg.test('12!@'), ' ——》 非字母 数字 下划线连续2位 检测', '✌')
var reg = /./
console.log('💛 var reg =/./')
console.log('【&%……*(yu12】', reg.test('&%……*(yu12'), ' ——》 包含任意1位内容 检测(换行不算)', '✌')
console.log('【\n1】', reg.test('\n1'), ' ——》 包含任意1位内容 检测(换行不算)', '✌')
console.log('\n', reg.test('\n'), ' ——》 包含任意1位内容 检测(换行不算)', '❌')
var reg = /\d\.\d/
console.log('💛 var reg =/\d\.\d/ /* .\转义字符 */')
console.log('【1.2】', reg.test('1.2'), ' ——》 转义字符-中间小数点 检测', '✌')
console.log('【1a1】', reg.test('1a1'), ' ——》 转义字符-中间小数点 检测', '❌')
</script>
</body>
</html>
2 元字符-边界符
<!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>
console.log('|||||||||||||||||||||||||||||||||||||||')
console.log('-----------------元字符-边界符----------------')
console.log('|||||||||||||||||||||||||||||||||||||||')
var reg = /^\d/
console.log('💚 var reg =/^\d/ /* 尖角号^ */')
console.log('【1abc】', reg.test('1abc'), ' ——》 起始位置是否为数字 检测', '✌')
console.log('【abc2】', reg.test('abc2'), ' ——》 起始位置是否为数字 检测', '❌')
console.log('【abc】', reg.test('abc'), ' ——》 起始位置是否为数字 检测', '❌')
console.log('【234】', reg.test('234'), ' ——》 起始位置是否为数字 检测', '✌')
var reg = /\d$/
console.log('💚 var reg =/^\d/')
console.log('【1abc】', reg.test('1abc'), ' ——》 结尾是否一位为数字 检测', '❌')
console.log('【abc2】', reg.test('abc2'), ' ——》 结尾是否一位为数字 检测', '✌')
console.log('【abc23】', reg.test('abc23'), ' ——》 结尾是否一位为数字 检测', '✌')
console.log('【234】', reg.test('234'), ' ——》 结尾是否一位为数字 检测', '✌')
var reg = /^ab5$/
console.log('💚 var reg =/^ab5$/')
console.log('【ab5c】', reg.test('ab5c'), ' ——》 起始 结尾组合 检测', '❌')
console.log('【1ab5】', reg.test('1ab5'), ' ——》 起始 结尾组合 检测', '❌')
console.log('【ab5】', reg.test('ab5'), ' ——》 起始 结尾组合 检测', '✌')
console.log('【1ab5c】', reg.test('1ab5c'), ' ——》 起始 结尾组合 检测', '❌')
var reg = /^a\dc$/
console.log('💚 var reg =/^a\dc$/')
console.log('【Abc】', reg.test('Abc'), ' ——》 起始以a 结尾以c 中间是数字 检测', '❌')
console.log('【abc】', reg.test('abc'), ' ——》 起始以a 结尾以c 中间是数字 检测', '❌')
console.log('【a2c】', reg.test('a2c'), ' ——》 起始以a 结尾以c 中间是数字 检测', '✌')
console.log('【1a2c】', reg.test('1a2c'), ' ——》 起始以a 结尾以c 中间是数字 检测', '❌')
</script>
</body>
</html>
3 元字符-限定符
<!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>
console.log('|||||||||||||||||||||||||||||||||||||||')
console.log('-----------------3 元字符-限定符----------------')
console.log('|||||||||||||||||||||||||||||||||||||||')
var reg = /^\d*/
console.log('🧡 var reg =/^\d*/ /* * 0~多次 */')
console.log('【A13】', reg.test('A13'), ' ——》 起始为0~n次为数字 检测', '✌')
console.log('【123】', reg.test('123'), ' ——》 起始为0~n次为数字 检测', '✌')
var reg = /^\d+/
console.log('🧡 var reg = /^\d+/ /* + 1~多次 */')
console.log('【A13】', reg.test('A13'), ' ——》 起始为1~n次为数字 检测', '❌')
console.log('【123】', reg.test('123'), ' ——》 起始为1~n次为数字 检测', '✌')
console.log('【abc】', reg.test('abc'), ' ——》 起始为1~n次为数字 检测', '❌')
var reg = /\d?/
console.log('🧡 var reg = /\d?/ /* ? 0~1 */')
console.log('【A13】', reg.test('A13'), ' ——》 数字 检测', '✌')
console.log('【123】', reg.test('123'), ' ——》 数字 检测', '✌')
console.log('【abc】', reg.test('abc'), ' ——》 数字 检测', '✌')
var reg = /^\d{3}/
console.log('🧡 var reg = /^\d{3}/ /* {n} 指定次数 */')
console.log('【2A13】', reg.test('2A13'), ' ——》 起始为3位数字 检测', '❌')
console.log('【a123】', reg.test('a123'), ' ——》 起始为3位数字 检测', '❌')
console.log('【123abc】', reg.test('123abc'), ' ——》 起始为3位数字 检测', '✌')
var reg = /@{1}\./
console.log('🧡 var reg = /@{1}\./ /* {n} 指定次数 */')
console.log('【@2】', reg.test('@2'), ' ——》 检测', '❌')
console.log('【@2.】', reg.test('@.'), ' ——》 检测', '✌')
</script>
</body>
</html>