我一直在使用这个正则表达式在我的联系表单中验证英国邮政编码,它运行正常:
/^([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
有一个简单的解决方案吗?
答案 0 :(得分:4)
以下是与英国邮政编码匹配的正则表达式:
^([A-PR-UWYZ0-9][A-HK-Y0-9][AEHMNPRTVXY0-9]?[ABEHMNPRVWXY0-9]? {0,2}[0-9][ABD-HJLN-UW-Z]{2}|GIR ?0AA)$
http://regexlib.com/REDetails.aspx?regexp_id=260&AspxAutoDetectCookieSupport=1
答案 1 :(得分:3)
要在正则表达式中指定可选空格,请在其后面添加问号。
示例:
^[A-Z]{2}\d{2} ?\d[A-Z]{2}$
问号是{0,1}
限定符的缩写形式,即零或一次:
^[A-Z]{2}\d{2} {0,1}\d[A-Z]{2}$
答案 2 :(得分:-1)
将空格放在条件正则表达式exp:[ ]