【发布时间】:2018-12-19 08:15:54
【问题描述】:
我在下面有这个带有特定正则表达式的 jquery validate add 方法。
我想要的是创建一个返回正则表达式的方法,就像在我的第二个示例中一样,但第二个示例不起作用。我收到一些错误提示“对象不支持属性或方法“测试”
if (scope.countryCode == "DE") {
$.validator.addMethod('PostalCodeError',
function(value) {
return /^(?!01000|99999)(0[1-9]\d{3}|[1-9]\d{4})$/.test(value);
}, 'Please enter a valid German postal code.');
$("#PostalCode").rules("add", {
PostalCodeError: true
});
}
我想要下面这样的东西
$.validator.addMethod('PostalCodeError',
function(value) {
return GetCountryRegex().test(value);
}, 'Please enter a valid postal code.');
$("#PostalCode").rules("add", {
PostalCodeError: true
});
function GetCountryRegex() {
if (scope.countryCode == "DE") {
return '/^(?!01000|99999)(0[1-9]\d{3}|[1-9]\d{4})$/';
}
if (scope.countryCode == "AT") {
return '/^\\d{4}$/';
}
}
【问题讨论】:
-
请注意
/regexp/和'/regexp/'是两个不同的东西(第二个是字符串)。试试return new RegExp('regexp'); -
我删除了代码片段。如果您不包含正确的 HTML/CSS/JavaScript/插件来制作现场演示,它们将完全没有意义。
标签: javascript jquery regex jquery-validate