js验证输入是否为手机号码或电话号码示例



// 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位数字)的格式。函数通过正则表达式进行匹配,并返回布尔值表示验证结果。