下面是我尝试使用前缀ZHA或zha后跟6个数字来验证表单字段的函数。前缀部分似乎正在工作,但如果我输入1号码,它仍然有效。有什么建议吗?
function checkHnum(hnumvalue){
var authTest = /^[ZHA]|[zha]+[\d]{6}$/;
return authTest.test(hnumvalue)
}
感谢。
答案 0 :(得分:1)
你的正则表达式不只接受1位数,但它有问题,因为它不会限制字母的顺序([ZHA]
是“Z或H或A “)。你似乎想要
var ok = /^(ZHA|zha)\d{6}$/.test(yourString)
请注意,如果您还想接受"Zha123456"
,那么您只需使用不区分大小写的正则表达式:
var ok = /^zha\d{6}$/i.test(yourString)
答案 1 :(得分:1)
你的正则表达式应该是:
/^ZHA\d{6}$/i
请注意i
以使其不区分大小写。你的问题主要是括号。括号与其中的一个字符匹配。
例如
[ZHA]
将匹配Z
,H
或A
,但不会匹配ZHA
希望这会有所帮助。干杯