0

我在让 ng-pattern 为我的代码中的任何邮政编码正则表达式工作时遇到问题。我尝试了几个简单的正则表达式,它们都很好。

我一直在使用的正则表达式来自英国邮政编码正则表达式(综合)

例如:$scope.UKGovPostcodeRegex = "(GIR 0AA)|((([AZ-[QVX]][0-9][0-9]?)|(([AZ-[QVX]][AZ-[IJZ ]][0-9][0-9]?)|(([AZ-[QVX]][0-9][A-HJKSTUW])|([AZ-[QVX]][AZ-[IJZ] ][0-9][ABEHMNPRVWXY])))) [0-9][AZ-[CIKMOV]]{2})";

错误:语法错误:令牌 '0' 是意外的,在表达式 [(GIR 0AA)|((([AZ-[QVX]][0-9][0-9]?) 的第 6 列应为 [)] |(([AZ-[QVX]][AZ-[IJZ]][0-9][0-9]?)|(([AZ-[QVX]][0-9][A-HJKSTUW]) |([AZ-[QVX]][AZ-[IJZ]][0-9][ABEHMNPRVWXY])))) [0-9][AZ-[CIKMOV]]{2})] 从 [0AA) |((([AZ-[QVX]][0-9][0-9]?)|(([AZ-[QVX]][AZ-[IJZ]][0-9][0-9] ?)|(([AZ-[QVX]][0-9][A-HJKSTUW])|([AZ-[QVX]][AZ-[IJZ]][0-9][ABEHMNPRVWXY]))) ) [0-9][AZ-[CIKMOV]]{2})]。

有没有人在 angularjs v1.1.5 中成功实现了邮政编码验证?

4

1 回答 1

1

我不知道为什么这不起作用,但这似乎是:

$scope.UKGovPostcodeRegex = /^ ... $/;

(替换...为您的正则表达式。)

然后像这样使用它:ng-pattern='UKGovPostcodeRegex'

您需要^and $,否则它将匹配具有邮政编码作为子字符串的任何字符串。

于 2013-10-16T00:11:15.603 回答