- : 表示有一列可以选择,只要匹配其中一个就可以,括号内中出现的字符一般都代表本身的含义 -
- [-] : 方括号内部范围类
- [^]:如果中括号内包含尖括号,则表示取反,不可与边界符混淆 ```javascript var rg = /[abc]/ // 只要包含有a 或者包含有b 或者包含有c 都返回trur; console.log(rg.test(‘andy’)); //true console.log(rg.test(‘baby’)); // true console.log(rg.test(‘efge’)); // false console.log(rg.test(‘red’)); // false
console.log(‘—————————————‘);
var rg1 = /^[abc]$/ // 三选一 只有是 a 或者 b 或者 c 这三个字母才返回true console.log(rg1.test(‘aa’)); //false console.log(rg1.test(‘a’)); //true console.log(rg1.test(‘b’)); //true console.log(rg1.test(‘c’)); //true console.log(rg1.test(‘abc’)); //true
console.log(‘——————————-‘);
var rg2 = /^[a-z]$/; // 26个英文字母任何一个字母都返回true console.log(rg2.test(‘a’)); //true console.log(rg2.test(‘b’)); //true console.log(rg2.test(‘c’)); //true console.log(rg2.test(‘A’)); //false
```javascript
var reg = /^[a-zA-z0-9_-]$/ // 26个英文字母(大写小写都可以) 任何一个字母和0到9的数字和下划线 返回true
console.log(reg.test('a')); //true
console.log(reg.test('1')); //true
console.log(reg.test('_')); //true
console.log(reg.test('A')); //true
console.log(reg.test('!')); //false
console.log('----------');
var reg1 = /^[^a-zA-z0-9_-]$/ // 如果中括号内包含^ 表示取反,不能和边界符^混淆
console.log(reg1.test('a')); //false
console.log(reg1.test('!')); //true
. 不是小数点,是除\n外任意的字符
let reg =/^2.3$/;
console.log(reg.test('2.3')); //true
console.log(reg.test('2@3')); //true
console.log(reg.test('23')); //true
要想代表小数点,需要转义字符
let reg = /^2\.3$/;
console.log(reg.test('2.3')); //true
console.log(reg.test('2@3')); //false
x|y
let reg = /^18|29$/;
console.log(reg.test('18')); //true
console.log(reg.test('29')); //true
console.log(reg.test('129')); //true
console.log(reg.test('189')); //true
console.log(reg.test('1829')); //true
console.log(reg.test('829')); //true
console.log(reg.test('182')); //true
直接x | y会存在很乱的优先级问题,一般我们写的时候都伴随着小括号进行分组,因为小括号改变处理的优先级 ,(小括号:分组)
let reg = /^(18|29)$/;
console.log(reg.test('18')); //true
console.log(reg.test('29')); //true
console.log(reg.test('129')); //false
// 只能是18或者29其中一个