以下是使用 JavaScript 实现的手机号码和座机号码校验的函数:
function validatePhoneNumber(phoneNumber) {
// 手机号码正则表达式(支持 13、14、15、16、17、18、19 开头的 11 位数字)
var mobileReg = /^1[3-9]\d{9}$/;
// 座机号码正则表达式(以 0 开头,后面跟 2-3 位数字,再跟 7-8 位数字)
var landlineReg = /^0\d{2,3}-\d{7,8}$/;
return mobileReg.test(phoneNumber) || landlineReg.test(phoneNumber);
}
//用法
console.log(validatePhoneNumber('13812345678')); // 输出: true
console.log(validatePhoneNumber('0591-12345678')); // 输出: true
console.log(validatePhoneNumber('123456789')); // 输出: false
在 Python 中,可以这样实现:
import re
def validate_phone_number(phone_number):
mobile_pattern = re.compile(r'^1[3-9]\d{9}$')
landline_pattern = re.compile(r'^0\d{2,3}-\d{7,8}$')
if mobile_pattern.match(phone_number) or landline_pattern.match(phone_number):
return True
else:
return False
# 用法
print(validate_phone_number('13812345678')) # 输出: True
print(validate_phone_number('0591-12345678')) # 输出: True
print(validate_phone_number('123456789')) # 输出: False