我有字母数字正则表达式/^[A-Za-z\d]{8}$/ 案例:我想跳过排除特定字符,比如说 E、P 和 S。谁能增强这个正则表达式来支持我上面提到的案例
2 回答
沧海一幻觉
TA贡献1824条经验 获得超5个赞
您可以将a-z
s 更改为仅包含您想要允许的字符范围:
/^[a-df-oqrt-z\d]{8}$/i
做同样事情的另一种方法是在使用时对黑名单进行负前瞻a-z
:
^(?:(?![eps])[a-z\d]){8}$
杨魅力
TA贡献1811条经验 获得超6个赞
你可以像这样使用范围
/^[A-DF-OQRT-Z\d]{8}$/i
^
- 字符串的开始^[A-DF-OQRT-Z\d]
A-F
- 可以匹配任何字符A to F
F-O
- 可以匹配任何字符F to O
QR
- 匹配字符Q, R
T-Z
- 可以匹配从 T 到 Z 的任何字符
let pattern = /^[A-DF-OQRT-Z\d]{8}$/i
return pattern.test(str)
}
console.log(matcher('abcdeh123'))
console.log(matcher('abcdh123'))
添加回答
举报
0/150
提交
取消