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