使用此正则表达式时,我收到错误“无效的量词”:
^(((\+44\s?\d{4}|\(?0\d{4}\)?)\s?\d{3}\s?\d{3})|((\+44\s?\d{3}|\(?0\d{3}\)?)\s?\d{3}\s?\d{4})|((\+44\s?\d{2}|\(?0\d{2}\)?)\s?\d{4}\s?\d{4}))(\s?\#(\d{4}|\d{3}))?$
事实上,我从正则表达式librairy尝试了一些英国电话号码正则表达式,但我总是得到同样的错误。如果有人可以帮助id非常感激!
答案 0 :(得分:1)
如果你只是运行它,你会得到同样的错误:
new RegExp("^(((+44\s?\d{4}|(?0\d{4})?)\s?\d{3}\s?\d{3})|((+44\s?\d{3}|(?0\d{3})?)\s?\d{3}\s?\d{4})|((+44\s?\d{2}|(?0\d{2})?)\s?\d{4}\s?\d{4}))(\s?#(\d{4}|\d{3}))?$");
...所以你最好忘记jQuery和Form Validator,直到你得到正则表达式。
JavaScript控制台说:
错误:无效的量词 + 44S d {4} |?(?0D {4})?)■d {3}Šd {3})|((+ 44S d {3} |?(0D {3})?) ?的d {3}šd {4})|((+ 44S d {2} |????(0D {2}))??的d {4}šd {4}))(S? #(d {4} | d {3})?)$
+
量词表示one or more
用于修改先前的规则,例如:
A+ --> One or more A's
\d+ --> One or more digits
所以你需要量化的东西:
(((+ --> Nothing to modify
答案 1 :(得分:0)
使用此项,来自http://www.regexlib.com/Search.aspx?k=uk%20tele
(\s*\(?0\d{4}\)?(\s*|-)\d{3}(\s*|-)\d{3}\s*)|(\s*\(?0\d{3}\)?(\s*|-)\d{3}(\s*|-)\d{4}\s*)|(\s*(7|8)(\d{7}|\d{3}(\-|\s{1})\d{4})\s*)