^&
let reg = /^\d/;
reg.test('yiyi'); // false
reg.test('20yiyi'); // true
reg.test('yiyi20'); // false
let reg = /\d$/;
reg.test('yiyi'); // false
reg.test('20yiyi'); // false
reg.test('yiyi20'); // true
- ^/$两个都不加:字符串中包含符合规则的内容即可
- ^/$两个都加:字符串中只能是和规则一致的内容
// 一位数字
let reg2 = /^\d+$/;
// 手机号码
let reg3 = /^1\d{10}$/;
\
// .不是小数,是除\n外的任意字符
let reg = /^2.3$/
reg.test("2.3") // true
reg.test("2@3") // true
reg.test("23") // false
let reg = /^2/.3$/
reg.test("2.3") // true
reg.test("2@3") // false
\
在字符串中也会转义
let str = "\\d";
reg = /^\d$/; // 一位数字
reg.test(str);// false
reg = /^\\d$/; // 把特殊字符转换为普通的
reg.test(str);// true
x|y
let reg = /^18|29$/; // 18开始或者29结尾的
reg.test("18"); // true
reg.test("29"); // true
reg.test("129"); // true
reg.test("189"); // true
reg.test("1829"); // true
reg.test("829"); // true
reg.test("182"); // true
- 直接x|y会存在很乱的优先级问题,一般伴随小括号分组
let reg = /^(18|29)$/; // 18或者29
reg.test("18"); // true
reg.test("29"); // true
reg.test("129"); // false
reg.test("189"); // false
reg.test("1829"); // false
reg.test("829"); // false
reg.test("182"); // false
[]
中括号中出现的字符一般都代表本身的含义
// @/+出现了一次或多次
let reg = /^[@+]+$/
reg.test('@+'); // true
reg.test('@@'); // true
// @/+
let reg = /^[@+]$/
reg.test('@'); // true
reg.test('+'); // true
reg.test('@@'); // false
//0~9
let reg = /^[\d]$/
reg.test('d'); // false
reg.test('\\'); // false
reg.test('9'); // false
- 中括号不存在多位数
reg = /^[18]$/;
reg.test("1"); // true
reg.test("8"); // true
reg.test("18"); // false
// 1 或者 0~2 或者9
reg = /^[10-29]$/;
reg.test("1"); // true
reg.test("9"); // true
reg.test("0"); // true
reg.test("2"); // true
reg.test("18"); // false