JavaScript验证电话号码和分机以*
我想验证电话号码和分机号码JavaScript验证电话号码和分机以*,javascript,regex,Javascript,Regex,我想验证电话号码和分机号码 电话号码的长度为10位数(仅为数字) 分机将以*55开始,最多6位 我使用下面的正则表达式对电话号码进行了验证 var regExOther = /^[0-9*]+$/; if(!regExOther.test(phone)) //phone may have 9898123456 or *552341 { //my error flag } 当前解决方案仅适用于数字,不适用于扩展(*55…) 任何帮助都将不胜感激。您可以这样做 函数匹配(str){ 返回
var regExOther = /^[0-9*]+$/;
if(!regExOther.test(phone)) //phone may have 9898123456 or *552341
{
//my error flag
}
当前解决方案仅适用于数字,不适用于扩展(*55…)
任何帮助都将不胜感激。您可以这样做
函数匹配(str){
返回str.match(/(?:^\*55\d{6}$)|^\d{10}$/);
}
console.log(匹配('1234567890'));
log(匹配('*551234567890');
log(匹配('*55123456');
console.log(匹配('1234567'))代码>据我所知,您希望匹配以*55
开头的10位电话号码或分机,然后是0到4位数字
var测试=[
'1234567890',
'12345678901',
“abc”,
'*55',
'*551234',
'*5512345',
'*45123',
'551234',
];
console.log(test.map)(函数(a){
返回a+':'+/^(?:\d{10}\*55\d{0,4})$/.test(a);
}));代码>扩展是否可选?您可以使用此正则表达式/^\d{10}(?:\*55\d{0,4})?$/
扩展可以有多长?它是加在10位数字上还是分开?请添加一些测试用例。@Toto,用户可以添加10位数的电话号码,也可以添加以*55
开头的最多6位数的分机号码(包括55)。是@marvel308,分机是可选的。用户可以输入分机号码或电话号码。我使用“运行代码片段”对其进行了测试,是的,它返回正确答案。您还可以建议将单值/函数参数与上述解决方案一起使用吗?console.log(/^(?:\d{10}|*55\d{0,4})$/.test('1234567890');是的,托托,完成了。非常感谢你。你的回答与我的问题完全相符(y)