jQuery 验证英国邮政编码
jQuery Validate UK Postcode
我已经构建了一个脚本来通过邮政编码查找洪水区域,我正在寻找验证字段,我目前有一个自定义 jQuery 验证方法如下。
jQuery.validator.addMethod("postcodeUK", function (value, element) {
return this.optional(element) || /[A-z]{1,2}[0-9]{1,2} ?[0-9][A-Z]{2}/i.test(value);
}, "Please specify a valid Postcode");
唯一的问题是我需要中间的 space,例如 AB12 3CD 或 BC1 9GH。它电流允许 AB123CD 或 BC19GH。
您通过在 space 后面添加 ?
使其成为可选的。如果您需要它,请删除 ?
.
一些其他注意事项:
[A-z]
不仅是 A-Z 和 a-z,还有 [
、\
、]
、_
和反引号 ( Z
和 a
之间的字符)。由于您使用的是 i
标志,因此您需要 [A-Z]
或 [a-z]
。
您可能希望 ^
在开头,$
在结尾匹配整个输入,而不仅仅是一个子集。
Example on regex101.com (你不需要我在那里使用的 g
或 m
标志,那只是为了我可以在测试中展示多个示例面积)
已经有一个 proven 方法来验证 the additional-methods.js
file of the jQuery Validate plugin. Include this file 中包含的英国邮政编码,或者只需将该方法复制到您的代码中,然后使用 postcodeUK
规则。
// Matches UK postcode. Does not match to UK Channel Islands that have their own postcodes (non standard UK)
$.validator.addMethod( "postcodeUK", function( value, element ) {
return this.optional( element ) || /^((([A-PR-UWYZ][0-9])|([A-PR-UWYZ][0-9][0-9])|([A-PR-UWYZ][A-HK-Y][0-9])|([A-PR-UWYZ][A-HK-Y][0-9][0-9])|([A-PR-UWYZ][0-9][A-HJKSTUW])|([A-PR-UWYZ][A-HK-Y][0-9][ABEHMNPRVWXY]))\s?([0-9][ABD-HJLNP-UW-Z]{2})|(GIR)\s?(0AA))$/i.test( value );
}, "Please specify a valid UK postcode" );
我已经构建了一个脚本来通过邮政编码查找洪水区域,我正在寻找验证字段,我目前有一个自定义 jQuery 验证方法如下。
jQuery.validator.addMethod("postcodeUK", function (value, element) {
return this.optional(element) || /[A-z]{1,2}[0-9]{1,2} ?[0-9][A-Z]{2}/i.test(value);
}, "Please specify a valid Postcode");
唯一的问题是我需要中间的 space,例如 AB12 3CD 或 BC1 9GH。它电流允许 AB123CD 或 BC19GH。
您通过在 space 后面添加 ?
使其成为可选的。如果您需要它,请删除 ?
.
一些其他注意事项:
[A-z]
不仅是 A-Z 和 a-z,还有[
、\
、]
、_
和反引号 (Z
和a
之间的字符)。由于您使用的是i
标志,因此您需要[A-Z]
或[a-z]
。您可能希望
^
在开头,$
在结尾匹配整个输入,而不仅仅是一个子集。
Example on regex101.com (你不需要我在那里使用的 g
或 m
标志,那只是为了我可以在测试中展示多个示例面积)
已经有一个 proven 方法来验证 the additional-methods.js
file of the jQuery Validate plugin. Include this file 中包含的英国邮政编码,或者只需将该方法复制到您的代码中,然后使用 postcodeUK
规则。
// Matches UK postcode. Does not match to UK Channel Islands that have their own postcodes (non standard UK)
$.validator.addMethod( "postcodeUK", function( value, element ) {
return this.optional( element ) || /^((([A-PR-UWYZ][0-9])|([A-PR-UWYZ][0-9][0-9])|([A-PR-UWYZ][A-HK-Y][0-9])|([A-PR-UWYZ][A-HK-Y][0-9][0-9])|([A-PR-UWYZ][0-9][A-HJKSTUW])|([A-PR-UWYZ][A-HK-Y][0-9][ABEHMNPRVWXY]))\s?([0-9][ABD-HJLNP-UW-Z]{2})|(GIR)\s?(0AA))$/i.test( value );
}, "Please specify a valid UK postcode" );