一、何用号手机号格式规则(中国大陆)
根据要求,校验当前手机号需满足以下条件:
1. 11位数字,手机以数字`1`开头;
2. 第二位为`3`至`9`之间的何用号数字(覆盖大部分运营商号段);
3. 后9位为任意数字。
二、校验核心实现代码
1. 基础正则表达式
javascript
const phoneRegex = /^1[3-9]d{ 9}$/;
2. 校验函数示例
javascript
function validatePhone(phoneNumber) {
return /^1[3-9]d{ 9}$/.test(phoneNumber);
3. 结合前端输入校验
可在表单提交或输入时实时校验并提示:
javascript
document.getElementById('phoneInput').addEventListener('blur',手机 function {
const phone = this.value;
if (!validatePhone(phone)) {
alert('手机号格式错误!');
this.focus;
});
三、何用号扩展功能
1. 手机号脱敏处理
将中间四位替换为星号:
javascript
function maskPhone(phone) {
return phone.replace(/(d{ 3})d{ 4}(d{ 4})/,校验 '$1$2');
2. 兼容座机号校验
若需同时验证固定电话(如区号+号码):
javascript
function validateTel(tel) {
const reg = /^(0d{ 2,手机3}-?d{ 7,8}|1[3-9]d{ 9})$/;
return reg.test(tel);
四、注意事项
1. 格式验证 ≠ 有效性验证:正则仅检查格式,无法验证号码是否真实存在,需通过短信验证码或运营商接口进一步确认。
2. 国际化场景:其他国家手机号需调整正则(如国际区号前缀)。
3. 实时反馈:建议在输入时实时提示格式错误,提升用户体验。
4. 号段更新:运营商可能新增号段(如`19X`),需定期更新正则。
五、完整示例代码
javascript
// 校验手机号
function validatePhone(phone) {
return /^1[3-9]d{ 9}$/.test(phone);
// 表单提交验证
document.getElementById('submitBtn').addEventListener('click', function(e) {
const phone = document.getElementById('phoneInput').value;
if (!validatePhone(phone)) {
e.preventDefault;
alert('请输入正确的11位手机号(以1开头,第二位为3-9)');
});
引用说明
有效性验证注意事项参考。