正则中的元字符

^&

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值