我只需要一个正则表达式来验证在文本框中输入的电话号码。该文本框只能允许数字、破折号 (-) 和加号 (+),并且最多应包含 15 个字符,最少应包含 11 个字符。(+) 可以(可选)仅出现在电话号码的开头。
请回答。
我只需要一个正则表达式来验证在文本框中输入的电话号码。该文本框只能允许数字、破折号 (-) 和加号 (+),并且最多应包含 15 个字符,最少应包含 11 个字符。(+) 可以(可选)仅出现在电话号码的开头。
请回答。
你的问题是这样回答的:
\+?[\d-]{1,13}
\+?
表示“一个 '+' 字符中的零”[\d-]{1,13}
表示“从 1 到 13 位数字或连字符”但是,我认为您应该使用更具规范性的东西。也许要求至少有 8 位数字,并且连字符不能是第一个或最后一个:
^(?=(.*\d){8,13})\+?(?!-)[\d-]*(?<!-)$
忽略 13 个字符的限制,您可以使用此正则表达式:
^((\+[0-9]([0-9]{2}|[1-9])?-)?([1-9][0-9]{2}-)?[1-9][0-9]{2}-[0-9]{4})?$