^ $
let reg1 = /^\d/;
console.log(reg1.test("zhufeng")); // => false
console.log(reg1.test("2019zhufeng")); // => true
console.log(reg1.test("zhufeng2019")); // => false
let reg2 = /\d$/;
console.log(reg2.test("zhufeng")); // => false
console.log(reg2.test("2019zhufeng")); // => false
console.log(reg2.test("zhufeng2019")); // => true
// => ^/$两个都不加: 字符串中包含符合规则的内容即可
let reg3 = /d+/;
// => ^/$两个都加: 字符串只能是和规则一致的内容
let reg4 = /^\d+$/;
// => 举个例子: 验证手机号码(11位, 第一个数字是1即可)
let reg5 = /^1\d{10}$/; // 只能是1加上10位数字
\
let reg = /^2.3$/;
// .不是小数点, 代表除了\n以外的任意字符
console.log(reg.test("2.3")); // => true
console.log(reg.test("2@3")); // => true
console.log(reg.test("23")); // => false
// => 基于转义字符, 让其只能代表小数点
reg = /^2\.3$/
console.log(reg.test("2.3")); // => true
console.log(reg.test("2@3")); // => false
reg = /^\d$/; // => \d代表0-9数字
console.log(reg.test("\\d")); // => false 字符串里面出现\d需要转义一下
reg = /^\\d$/; // => 把特殊符号转换为普通的
console.log(reg.test("\\d")); // => true
x|y
let reg = /^18|29$/;
console.log(reg.test("18")); // => true
console.log(reg.test("29")); // => true
console.log(reg.test("129")); // => true 以1开头, 以9结尾, 中间是8或者2
console.log(reg.test("189")); // => true 以1开头, 以9结尾, 中间是8或者2
console.log(reg.test("1829")); // => true
console.log(reg.test("829")); // => true
console.log(reg.test("182")); // => true
// ---------直接x|y会存在很乱的优先级问题, 一般我们写的时候都伴随着小括号进行分组, 因为小括号改变处理的优先级
console.log('-----------')
reg = /^(18|29)$/;
console.log(reg.test("18")); // => true
console.log(reg.test("29")); // => true
console.log(reg.test("129")); // => false
console.log(reg.test("189")); // => false
console.log(reg.test("1829")); // => false
console.log(reg.test("829")); // => false
console.log(reg.test("182")); // => false
// 只能是18或者29中的一个
[]
// 1.中括号中出现的字符一般都代表本身的含义
let reg = /^[@+]$/;
console.log(reg.test("@")); // => true
console.log(reg.test("+")); // => true
console.log(reg.test("@@")); // => false
console.log(reg.test("@+")); // => false
reg = /^[\d]$/; // \d在中括号中还是0-9
console.log(reg.test("d")); // => false
console.log(reg.test("\\")); // => false
console.log(reg.test(9)); // => true
reg = /^[\\d]$/; // 代表 \ d 之间的一个而不是匹配0-9
console.log(reg.test("\\")); // => true
console.log(reg.test("d")); // => true
console.log(reg.test("9")); // => false
// 2.中括号中不存在多位数
reg = /^$[18]/;
console.log(reg.test("1")); // => true
console.log(reg.test("8")); // => true
console.log(reg.test("18")); // => false
reg = /^[10-29]$/; // => 1或者0-2或者9
console.log(reg.test("1")); // => true
console.log(reg.test("9")); // => true
console.log(reg.test("0")); // => true
console.log(reg.test("2")); // => true
console.log(reg.test("10")); // => false
reg = /^[(10-29)]$/; // => ( 1 或者0-2 或者9 或者)
console.log(reg.test('(')); // => true