一、正则表达式
正则表达式是用于匹配字符串的组合模式。
二、正则表达式的作用
匹配、替换、表单验证
三、创建正则表达式
<script>
// 利用RegExp对象来创建 正则表达式
var repexg = new RegExp(/123/)
// 利用字面量创建 正则表达式
var rg = /123/;
console.log(rg.test(123)) // 用test来检测正则表达式
// 只要包含123的字符串都是返回true
console.log(rg.test(abc))
</script>
四、正则表达式的特殊字符
<script>
// 边界符 ^ $
var reg = /abc/
console.log(rg.test('abc')) // true
console.log(rg.test('abcd')) // true
console.log(rg.test('aabc')) // true
var reg = /^abc/ //表示以abc开头
console.log(reg.test('abc')) // true
console.log(reg.test('abcd')) // true
console.log(reg.test('aabc')) // false
var reg = /^abc$/ // 表示完全匹配abc
console.log(reg.test('abc')) // true
console.log(reg.test('abcd')) // false
console.log(reg.test('aabc')) // false
console.log('------------------------------------------------------')
// 字符类: [] 表示包含有a 或者有b 或者包含c 都返回true
var rg = /[abc]/
console.log(rg.test('andy')) // true
console.log(rg.test('body')) // true
console.log(rg.test('color')) // true
console.log(rg.test('red')) // false
var rg = /^[abc]$/
console.log(rg.test('aa')) // false
console.log(rg.test('a')) // true
console.log(rg.test('b')) // true
console.log(rg.test('c')) // true
var rg = /^[a-z]$/ // - 表示一个范围 26个英文字母任何一个都是true 多选一
console.log(rg.test('a')) // false
console.log(rg.test('b')) // true
console.log(rg.test(1)) // false
console.log(rg.test(A)) // false
// 字符组合
var rg = /^[a-zA-Z0-9_]$/ // 可以输入小写 ,大写 ,1~9 以及 _ (多选一)
// []里面的 ^ 表示取反
var rg = /^[^a-zA-Z0-9_]$/
console.log('------------------------------------------------------')
// 量词符 : 用于设定某个模式出现的次数
// * 可以出现0次或很多次
var rg = /^a*$/ // 表示a可以出现0 次或很多次
// + 可以出现1 次或很多次
var rg = /^a+$/
// ? 可以出现1次或0次
var rg = /^a?$/
// {3} 表示重复3次
var rg = /^a{3}$/ // a只能出现3次
console.log(rg.test('ababab')) // false
console.log(rg.test(aaa)) // true
console.log(rg.test(aaaaa)) // true
// {3, } 表示出现 >=3 次
var rg = /^a{3, }$/ // a可以出现>=3次
// {3, 6} 表示出现>=3 && <=6
var rg = /^a{3,6 }$/ // a可以出现 大于等于3次小于等于6次
</script>