Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
英国邮政编码的JavaScript正则表达式_Javascript_Regex - Fatal编程技术网

英国邮政编码的JavaScript正则表达式

英国邮政编码的JavaScript正则表达式,javascript,regex,Javascript,Regex,我一直在使用此正则表达式验证我的联系人表单中的英国邮政编码,效果很好: /^([a-zA-Z]){1}([0-9][0-9]|[0-9]|[a-zA-Z][0-9][a-zA-Z]|[a-zA-Z][0-9][0-9]|[a-zA-Z][0-9]){1}([ ])([0-9][a-zA-z][a-zA-z]){1}$/ 但是,我现在需要对其进行修改,以验证是否有空格,例如GL50 1HX或GL501HX 有一个简单的解决方法吗?将空格放在条件正则表达式exp:[]要在正则表达式中指定可选空格,

我一直在使用此正则表达式验证我的联系人表单中的英国邮政编码,效果很好:

/^([a-zA-Z]){1}([0-9][0-9]|[0-9]|[a-zA-Z][0-9][a-zA-Z]|[a-zA-Z][0-9][0-9]|[a-zA-Z][0-9]){1}([ ])([0-9][a-zA-z][a-zA-z]){1}$/
但是,我现在需要对其进行修改,以验证是否有空格,例如GL50 1HX或GL501HX


有一个简单的解决方法吗?

将空格放在条件正则表达式exp:
[]
要在正则表达式中指定可选空格,请在其后加一个问号

例如:

^[A-Z]{2}\d{2} ?\d[A-Z]{2}$
问号是
{0,1}
限定符的缩写形式,即零次或一次:

^[A-Z]{2}\d{2} {0,1}\d[A-Z]{2}$

以下是与英国邮政编码匹配的regexp:

^([A-PR-UWYZ0-9][A-HK-Y0-9][AEHMNPRTVXY0-9]?[ABEHMNPRVWXY0-9]? {0,2}[0-9][ABD-HJLN-UW-Z]{2}|GIR ?0AA)$

您一直在使用什么正则表达式?所以您有一个正则表达式,但在您的问题中没有显示它?发布代码!我不知道什么是英国邮政编码,但对于你的例子来说,这个
“GL501HX”。测试(//[A-Z]{2}[0-9]{3}\s?[A-Z]{2}$/I)
应该可以工作。
temp=pcode.replace(//g,”)
然后测试(或使用)temp?好的,为了你的更新,把
放在
([])
之后,它就可以工作了。这是一个字符类,不是条件类。它的意思是“这里必须有以下字符之一:空格(列表末尾)”。问题是明确要求允许空格是可选的。这需要一个空格。修复了空格选项谢谢你的回答,这实际上在我的js中导致了一个错误-无效的量词,我终于用一个简单的问号解决了这个问题,谢谢!谢谢你,这解决了我的问题-就这么简单,呃,为所有感兴趣的人更新了正则表达式-/^([a-zA-Z]){1}([0-9][0-9]|[a-zA-Z][0-9][a-zA-Z][0-9][0-9]|[a-zA-Z][0-9]){1}([])([0-9][a-zA-Z][a-zA-Z][a-zA-Z]){1$/我不会使用这个解决方案:[a-zA-Z][a-Z][a-UK 1}当许多首字母开头需要两个字符时,例如N1、W1、B1etc@Quango:很抱歉给你带来了困惑。答案并不是说模式应该适合英国邮政编码,它只是展示了如何在模式中放置可选空格。