【发布时间】:2020-01-13 11:13:20
【问题描述】:
我正在尝试为以下格式创建正则表达式:
12-345678 Matches
AB-345678 Matches
$12-345678 Failed
%%-SDdfdf Failed
- 前 2 个字符应该是字母或数字,例如 AA 或 12
- 第三个字符必须是 -(连字符)和
- 最后六个字符应该是数字
- 字符串长度不应超过 9 个字符
我已经写了以下正则表达式,但它失败了:
$('#customer-number').keyup(function(){
$(this).val($(this).val().replace(/^(d{2}|[a-z]{2})\-\\d{6}/,'$1-'))
});
但正则表达式失败:
/^(d{2}|[a-z]{2})\-\\d{6}/
我是正则表达式的新手,请帮助我
【问题讨论】:
-
d与\d不同。\\d将匹配\d字符序列,而不是数字。[a-z]只匹配小写字母,你的意思是[A-Z]还是[A-Za-z]?如果你想匹配整个字符串,你也会错过模式末尾的$。此外,正则表达式看起来像一个验证正则表达式,但您在replace方法中使用它,您能澄清一下吗? -
前 2 个字符是否允许使用
A1或1A? -
其实不允许!
标签: javascript jquery regex