// JavaScript 验证输入是否为手机号码或电话号码的示例
// 假设手机号码格式为11位数字,电话号码格式为区号-座机号,区号3-4位,座机号7-8位
function isValidPhoneNumber(input) {
// 匹配手机号码:11位数字
const phoneRegex = /^\d{11}$/;
// 匹配电话号码:区号3-4位,短横线,座机号7-8位
const landlineRegex = /^(\d{3,4})-(\d{7,8})$/;
// 使用正则匹配手机号码
if (phoneRegex.test(input)) {
return true;
}
// 使用正则匹配电话号码
if (landlineRegex.test(input)) {
return true;
}
// 如果都不匹配,返回false
return false;
}
// 示例
console.log(isValidPhoneNumber("13800138000")); // true,手机号码
console.log(isValidPhoneNumber("010-12345678")); // true,电话号码
console.log(isValidPhoneNumber("010-123456")); // false,电话号码格式不正确
console.log(isValidPhoneNumber("12345678901")); // false,位数不正确
这段代码定义了一个 `isValidPhoneNumber` 函数,它接受一个字符串参数 `input`,用于验证该字符串是否为有效的手机号码或电话号码。手机号码被定义为11位数字,电话号码被定义为区号(3-4位数字)-座机号(7-8位数字)的格式。函数通过正则表达式进行匹配,并返回布尔值表示验证结果。