Javascript - 带有前缀后跟6个数字的正则表达式

时间:2014-01-12 19:03:15

标签: javascript

下面是我尝试使用前缀ZHA或zha后跟6个数字来验证表单字段的函数。前缀部分似乎正在工作,但如果我输入1号码,它仍然有效。有什么建议吗?

function checkHnum(hnumvalue){
    var authTest = /^[ZHA]|[zha]+[\d]{6}$/;
    return authTest.test(hnumvalue)
}

感谢。

2 个答案:

答案 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]将匹配ZHA,但不会匹配ZHA

希望这会有所帮助。干杯