0

我正在使用 jQuery 表单验证来验证表单,其中一个字段需要是四位空格四位数字,例如1234 5678

如果我用连字符替换空格,我可以验证它:

$.validator.addMethod("companynumber", function(value, element) {
var regexp = /^[0-9]{4}[-][0-9]{4}$/;
var strippedValue = value.replace(/\s/g, '');
return this.optional(element) || regexp.test(strippedValue);
},  "Enter a valid Company Number.");

但是找不到我需要在正则表达式中放入数字块之间的单个空格的内容,有人可以帮忙吗?

4

1 回答 1

1

Acheong87 是正确的,您可以使用 获得一个空格/^[0-9]{4} [0-9]{4}$/,但看起来您也在检查正则表达式之前删除了空格。如果您希望正则表达式正确匹配,则不应使用它strippedValue来执行 regexp.test。

所以这样的事情应该有效:

$.validator.addMethod("companynumber", function(value, element) {
var regexp = /^[0-9]{4} [0-9]{4}$/;
return this.optional(element) || regexp.test(value);
},  "Enter a valid Company Number.");
于 2013-09-11T15:49:07.813 回答