我想用javascript验证电话号码,到目前为止,我有正则表达式,如下所示:
/^[0-9\+]{8,13}$/
但这不是我最终想要得到的。
我需要获取我国默认的电话号码格式"波兰"。例如,如果用户正确传递了正则表达式,我需要检查几种手机格式:321123321
,123-321-123
,123 321 123
,123211212
,12-321-12-12
,{{1} }。
很抱歉,如果我的问题很愚蠢,但我不知道如何理解这个正则表达式。
答案 0 :(得分:3)
看起来你允许数字空格和超量。
为什么不删除空格和连字符,并检查其余部分是否为数字。
var str = "123 321 123";
str = str.replace( /\s|-/g, "" );
现在运行你自己的正则表达式
"123 321 123".replace( /\s|-/g, "" ).match(/^[0-9\+]{8,13}$/)
或者只是在正则表达式中包含空格和连字符
"123 321 123".match(/^[0-9\+\s-]{8,13}$/);
答案 1 :(得分:0)
使用以下正则表达式允许 - 并且空格和所有字符应在8到13之间。
^[0-9\s- \+]{8,13}$