Parsley.js 英国邮政编码检查
Parsley.js UK Postcode check
我编写了以下内容以插入到我的 Parsley extras 文件中,以便通过 parsley.js
允许英国邮政编码验证
//postcode
window.Parsley.addValidator('postcode', {
requirementType: 'string',
validateString: function(value, requirement) {
var postcode = value.match(/^([Gg][Ii][Rr] 0[Aa]{2})|((([A-Za-z][0-9]{1,2})|(([A-Za-z][A-Ha-hJ-Yj-y][0-9]{1,2})|(([AZa-z][0-9][A-Za-z])|([A-Za-z][A-Ha-hJ-Yj-y][0-9]?[A-Za-z]))))[0-9][A-Za-z]{2})$/) || [];
return postcode.length >= requirement;
},
messages: {
en: 'The postcode entered is invalid.'
}
});
它似乎不接受邮政编码中间的 space,这让我觉得很奇怪,因为我觉得用户总是会尝试添加它。
澄清一下,我设置的规则中的正则表达式直接来自 UK government advice on the issue。
我的函数是否无效,或者这个正则表达式是否按预期工作?如果其他人有使用英国邮政编码的欧芹,我很感激任何信息,因为令人惊讶的是,欧芹 github 页面或互联网上的其他地方似乎根本没有涵盖这一点。
您的正则表达式似乎只是缺少 space。
请参阅下方进行比较:
You:
^([Gg][Ii][Rr] 0[Aa]{2})|((([A-Za-z][0-9]{1,2})|(([A-Za-z][A-Ha-hJ-Yj-y][0-9]{1,2})|(([AZa-z][0-9][A-Za-z])|([A-Za-z][A-Ha-hJ-Yj-y][0-9]?[A-Za-z]))))[0-9][A-Za-z]{2})$
Gov:
^([Gg][Ii][Rr] 0[Aa]{2})|((([A-Za-z][0-9]{1,2})|(([A-Za-z][A-Ha-hJ-Yj-y][0-9]{1,2})|(([A-Za-z][0-9][A-Za-z])|([A-Za-z][A-Ha-hJ-Yj-y][0-9]?[A-Za-z])))) [0-9][A-Za-z]{2})$
看起来您还缺少一个破折号:A-Z
不是 AZ
。
我编写了以下内容以插入到我的 Parsley extras 文件中,以便通过 parsley.js
允许英国邮政编码验证//postcode
window.Parsley.addValidator('postcode', {
requirementType: 'string',
validateString: function(value, requirement) {
var postcode = value.match(/^([Gg][Ii][Rr] 0[Aa]{2})|((([A-Za-z][0-9]{1,2})|(([A-Za-z][A-Ha-hJ-Yj-y][0-9]{1,2})|(([AZa-z][0-9][A-Za-z])|([A-Za-z][A-Ha-hJ-Yj-y][0-9]?[A-Za-z]))))[0-9][A-Za-z]{2})$/) || [];
return postcode.length >= requirement;
},
messages: {
en: 'The postcode entered is invalid.'
}
});
它似乎不接受邮政编码中间的 space,这让我觉得很奇怪,因为我觉得用户总是会尝试添加它。
澄清一下,我设置的规则中的正则表达式直接来自 UK government advice on the issue。
我的函数是否无效,或者这个正则表达式是否按预期工作?如果其他人有使用英国邮政编码的欧芹,我很感激任何信息,因为令人惊讶的是,欧芹 github 页面或互联网上的其他地方似乎根本没有涵盖这一点。
您的正则表达式似乎只是缺少 space。
请参阅下方进行比较:
You:
^([Gg][Ii][Rr] 0[Aa]{2})|((([A-Za-z][0-9]{1,2})|(([A-Za-z][A-Ha-hJ-Yj-y][0-9]{1,2})|(([AZa-z][0-9][A-Za-z])|([A-Za-z][A-Ha-hJ-Yj-y][0-9]?[A-Za-z]))))[0-9][A-Za-z]{2})$
Gov:
^([Gg][Ii][Rr] 0[Aa]{2})|((([A-Za-z][0-9]{1,2})|(([A-Za-z][A-Ha-hJ-Yj-y][0-9]{1,2})|(([A-Za-z][0-9][A-Za-z])|([A-Za-z][A-Ha-hJ-Yj-y][0-9]?[A-Za-z])))) [0-9][A-Za-z]{2})$
看起来您还缺少一个破折号:A-Z
不是 AZ
。