我正在尝试使用jQuery验证邮政编码字段,但它不起作用。
这是我的代码:
if (postcod.val().match ('~^([1-9]{1}[0-9]{3}\s[A-Z]{2})$~')){
}else{
postcod.addClass("needsfilled");
postcod.val(postcoderror);
}
这是html:
PostCode<br /><input id="postcod" type="text" value="" name="postcod" />
你可以帮助PLZ
答案 0 :(得分:7)
有一些问题......
RegExp
对象,否则JavaScript中的正则表达不会引用。在这种情况下,你没有。如果我需要连接外部字符串,我只使用它们。虽然您可以将字符串传递给match()
并且它将被隐式转换,但不建议传递RegExp
字面值。/
作为正则表达式文字中的分隔符。使用RegExp
时,您不会传递任何分隔符。所以~
永远不正确。也许你在想PHP。{1}
量词是隐式的,[0-9]
字符类可以用\d
代替。else
,而是使用bang运算符(!
)来否定条件。以下是我如何使用它......
if ( ! postcod.val().match(/^([1-9]\d{3}\s[A-Z]{2})$/)){
...
}