私は、これらの形式を受け入れますHTMLの電話番号のパターンを持っている:無効な正規表現:ローンの数量詞ブラケット
+61 x xxxx xxxx,
+61xxxxxxxxx,
0x xxxx xxxx,
0xxxxxxxxx,
xxxx xxxx,
xxxxxxxx,
+xx xxx xxx xxx,
+xxxxxxxxxxx,
0xxx xxx xxx,
0xxxxxxxxx
それは今、急に自分の携帯電話のフィールドは、検証されていない、数ヶ月前に働いていました。このエラーが発生しました:
Pattern attribute value ^(?:0|\(?\+61\)?\s?|0061\s?)[1-79](?:[\.\-\s]?\d\d){4}|(\d{4}[\s]\d{4})|(\d{8})|(\d{4}[\s]\d{3}[\s]\d{3})|(\+61\[\s]\d{3}[\s]\d{3}[\s]\d{3})|(\+61\s\d{3}\s\d{3}\s\d{3})$ is not a valid regular expression: Uncaught SyntaxError: Invalid regular expression: /^(?:0|\(?\+61\)?\s?|0061\s?)[1-79](?:[\.\-\s]?\d\d){4}|(\d{4}[\s]\d{4})|(\d{8})|(\d{4}[\s]\d{3}[\s]\d{3})|(\+61\[\s]\d{3}[\s]\d{3}[\s]\d{3})|(\+61\s\d{3}\s\d{3}\s\d{3})$/: Lone quantifier brackets
それはまさにそれが意味するものです。この正規表現は有効ではありません。 – nicovank
ええ、正規表現には明確な問題があります。正規表現の作成とテストのセマンティクスに精通していない場合は、expressoのようなツールを使用することを強く推奨します(http://www.ultrapico.com/Expresso.htm)。正規表現をビルドしてテストします。 –
視覚化を見て、それが有効でないことがはっきりと分かる - https://regexper.com/#%5E(%3F%3A0%7C%5C(%3F%5C%2B61%5C)%3F%5Cs %5F%5F%5F%5F%5F%5F%5Cd%5F%5F%5F%5F%5F%5F%5F% 5Cd%7B4%7D)%7C%5Cd%7B4%7C%5Cd%7B4%7D%5B%5Cs%5D%5Cd%7B3%7D%5B%5Cs 5D%5Cd%5B%5C%5B%5Cs%5D%5Cd%7B3%7D%5B%5Cs%5D%5Cd%7B3%7D%5B%5Cs%5D%5Cd %7B3%7D)%7C%5C%2B61%5Cs%5Cd%7B3%7D%5Cs%5Cd%7B3%7D%5Cs%5Cd%7B3%7D%24 –