我目前具有验证电话号码的功能。此信息将输入到Web应用程序中。稍后将其显示在Windows应用程序中,这就是问题所在。我有一个特定的函数,可将数据填充到控件中,但它仅接受一种电话号码格式,即
(123)456-7890
这是我们一直在使用的功能,但是它允许用户输入10位数的任何格式,因此可以是123-45-6789之类的内容
function validatePhone(fld) {
var error = "";
var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');
if (fld.value == "") {
return false;
} else if (isNaN(parseInt(stripped))) {
return false;
} else if (!(stripped.length == 10)) {
return false;
}
return true;
}
我浏览了整个网络,通常他们有两种格式(123) 456-7890 | 123-456-7890
的特定正则表达式,正则表达式为((((\ d {3})?)|(\ d {3}- ))?\ d {3}-\ d {4},但是在我的情况下,我只能使用1种格式(带括号)
有什么方法可以更改此设置,以便它可以验证电话号码的格式是否与我上面显示的完全一样?预先感谢
答案 0 :(得分:1)
使用下面的RegExp验证电话号码
const valid = "(123) 456-7890";
const invalid = "1234567890";
const re = /^\(\d{3}\) \d{3}-\d{4}$/;
console.log(
re.test(valid),
re.test(invalid)
);
答案 1 :(得分:1)
您可以尝试以下正则表达式
let regex = /^\(\d{3}\) \d{3}-\d{4}$/
console.log(regex.test("(123) 456-7890")) // true
console.log(regex.test("123-456-7890")) //false