Regex 英国邮政编码正则表达式验证

Regex 英国邮政编码正则表达式验证,regex,postal-code,Regex,Postal Code,我正在寻找一个有效的英国邮政编码正则表达式模式,但似乎它们中的任何一个都可以作为传统的正则表达式或普通正则表达式工作 我使用此工具测试所有模式: 我在此文档中找到的正则表达式不起作用 我在这个维基页面上尝试了所有正则表达式,但什么都没有 我做错什么了吗 我在写一个有角度的指令 var regex = ????; // add a parser that will process each time the value is // parsed into the model when the

我正在寻找一个有效的英国邮政编码正则表达式模式,但似乎它们中的任何一个都可以作为传统的正则表达式或普通正则表达式工作

我使用此工具测试所有模式:

我在此文档中找到的正则表达式不起作用

我在这个维基页面上尝试了所有正则表达式,但什么都没有

我做错什么了吗

我在写一个有角度的指令

var regex = ????;

// add a parser that will process each time the value is 
// parsed into the model when the user updates it.
ngModel.$parsers.unshift(function(value) {
    // test and set the validity after update.
    var valid = regex.test(value);
    console.log(valid);
    ngModel.$setValidity('ukPostcode', valid);

    // if it's valid, return the value to the model, 
    // otherwise return undefined.
    return valid ? value : undefined;
});

谢谢。

当您的正则表达式被更正时,它将同时匹配:

rg224ph
rg141de

您的正则表达式当前有:

我想你想要的正则表达式是:

([A-PR-UWYZa-pr-uwyz0-9][A-HK-Ya-hk-y0-9][AEHMNPRTVXYaehmnprtvxy0-9]?[ABEHMNPRVWXYabehmnprvwxy0-9]{1,2}[0-9][ABD-HJLN-UW-Zabd-hjln-uw-z]{2}|(GIRgir){3} 0(Aa){2})

其中。

当您的正则表达式被更正时,它与以下两个匹配:

rg224ph
rg141de

您的正则表达式当前有:

我想你想要的正则表达式是:

([A-PR-UWYZa-pr-uwyz0-9][A-HK-Ya-hk-y0-9][AEHMNPRTVXYaehmnprtvxy0-9]?[ABEHMNPRVWXYabehmnprvwxy0-9]{1,2}[0-9][ABD-HJLN-UW-Zabd-hjln-uw-z]{2}|(GIRgir){3} 0(Aa){2})

哪些。

它们在哪些方面不起作用?不匹配有效的邮政编码?让病人通过?二者都其他内容?以下邮政编码的验证失败:rg224ph、rg141de。我住在那里,所以它们是100%有效的邮政编码。尽管你说:“我使用这个工具测试所有模式:”
[A-PR-UWYZa-PR-uwyz0-9][A-HK-Ya-HK-y0-9][aehmnprtvxyaehnprtvxy0-9]?[abehnprvxyabehmnprvxy0-9]?{1,2}[0-9][ABD-HJLN UW-UW-Zabd-HJLN-UW-z]{2}(GIRgir){3}0(Aa){2}没有尝试编译代码。您的正则表达式中确实存在两个问题:组设置不正确,因为前导的
不存在,并且
{1,2}
限制量词是在
之后设置的,这是不允许的。事实上,我不明白你想匹配什么:它匹配
gir0aaaa
。这个regexp中的任何一个都是我写的,这就是为什么我声明了我从哪里得到它们的URL。所以官方的regexp是错误的!!!它们以什么方式不起作用?不匹配有效的邮政编码?让无效的邮政编码通过?两者都通过?其他一些?以下邮政编码的验证失败:rg224ph,rg141de。我住在那里,所以它们是100%有效的邮政编码。尽管您声明:“我使用此工具测试所有模式:”
[A-PR-UWYZa-PR-uwyz0-9][A-HK-Ya HK-HK-y0-9][AEHMNPRTVXYaehmnprtvxy0-9]?[abehmnprvwxybehmnprvwxy0-9]?{1,2}[0-9][ABD-HJLN-UW-Zabd-HJLN-UW-z]{2}(GIRgir){3}0(Aa){2}$
没有在那里编译:尝试。您的正则表达式中确实有两个问题:组没有正确设置为前导的
不存在,并且
{1,2}
限制量词是在
之后设置的,这是不允许的。实际上,我不明白你想匹配什么:它匹配
gir0aaaa
。这个regexp中的任何一个都是我写的,这就是为什么我说明了我从哪里得到它们的URL。所以官方的regexp是错误的!!!是的,我也这么认为,但是did没有任何反馈。你确定OP需要匹配的是
GIRgir 0AaAa
吗?@stribizev我同意这很奇怪。我怀疑预期的选项是:
[GIRgir]{3}0[Aa]{2}
是的,我也这么认为,但没有任何反馈。你确定OP需要匹配的是
GIRgir 0AaAa
吗?@stribizev我同意这很奇怪。我怀疑预期的选项是:
[GIRgir]{3}0[Aa]{2}
([A-PR-UWYZa-pr-uwyz0-9][A-HK-Ya-hk-y0-9][AEHMNPRTVXYaehmnprtvxy0-9]?[ABEHMNPRVWXYabehmnprvwxy0-9]{1,2}[0-9][ABD-HJLN-UW-Zabd-hjln-uw-z]{2}|(GIRgir){3} 0(Aa){2})