JavaScript 手机号码与固定电话合法性验证代码集合
作者:木棉时间:2026-10-26 20:21:37浏览:590
本文整理了多种 JavaScript 手机号码与固定电话的合法性验证代码。涵盖前端表单校验逻辑,包括使用正则表达式匹配 13x、15x、153、159 等号段,以及区号与分机号的格式处理。同时提供基于 jQuery 的简化验证方案及后台 C# 代码示例,确保输入数据的准确性与格式规范。
JavaScript 手机号与固话验证代码详解
第一段验证代码实现如下:
以上为代码示例部分,
具体代码内容如下:
定义函数 Checkreg() 用于校验
{
该函数同时验证电话号码和手机号码,兼容 153 和 159 号段
首先判断表单中 phone 和 UserMobile 字段是否均为空,
若两者皆空,则弹出提示框告知用户“电话号码和手机号码至少选填一个阿!”
并将焦点定位至 phone 输入框,
返回 false 终止后续操作。
}
接着检查 phone 字段是否非空,
若不为空,则获取其值赋给变量 phone,
定义正则表达式 p1 为 /^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/,
初始化布尔变量 me 为 false,
使用 p1.test(phone) 进行匹配测试,若匹配成功则将 me 设为 true。
若 me 为 false,即匹配失败,
清空 phone 字段的值,
弹出提示“对不起,您输入的电话号码有错误。区号和电话号码之间请用-分割”,
将焦点移至 phone 输入框,
返回 false。
}
}
随后检查 UserMobile 字段是否非空,
若不为空,则获取其值赋给变量 mobile,
定义正则 reg0 为 /^13\d{5,9}$/,
定义正则 reg1 为 /^153\d{4,8}$/,
定义正则 reg2 为 /^159\d{4,8}$/,
定义正则 reg3 为 /^0\d{10,11}$/,
初始化布尔变量 my 为 false,
依次使用 reg0 至 reg3 对 mobile 进行 test 测试,任一匹配成功则将 my 设为 true。
若 reg1 匹配成功,my 置为 true,
若 reg2 匹配成功,my 置为 true,
若 reg3 匹配成功,my 置为 true,
若 my 仍为 false,即所有正则均不匹配,
清空 UserMobile 字段的值,
弹出提示“对不起,您输入的手机或小灵通号码有错误。”
将焦点移至 UserMobile 输入框,
返回 false。
}
若通过所有校验,则返回 true。
}
} 代码逻辑说明如下:
test 方法用于检查字符串中是否存在匹配模式,存在则返回 true,否则返回 false。
正则表达式各部分含义解析:
\d 代表一个数字字符
{7,8} 代表匹配 7 到 8 位数字,用于表示普通电话号码
{3,} 代表匹配 3 位及以上数字,用于表示分机号码
\d{2,3} 代表匹配 2 到 3 位数字,用于表示区号
\d{2,3} 代表匹配 2 到 3 位数字,用于表示国际区号
/^13\d{5,9}$/ 匹配 130 至 139 开头的号码,长度至少 5 位,最多 9 位
/^153\d{4,8}$/ 匹配联通 153 号段,长度至少 4 位,最多 8 位
/^159\d{4,8}$/ 匹配移动 159 号段,长度至少 4 位,最多 8 位
jQuery 简化验证与后台 C# 校验示例
第二段验证代码实现如下:
代码块结束。
具体代码内容如下:
使用 jQuery 获取 id 为 varMobilePhone 的元素值赋给 Mobile,
获取 id 为 varPhoneNo 的元素值赋给 Phone,
若 Mobile 和 Phone 均为空字符串,
{
则弹出提示“手机和固话,请至少填写一项联系方式!”
将焦点定位至 varMobilePhone 元素,
执行 return 终止函数。
}
若 Mobile 不为空,
{
则调用 isMobil(Mobile) 函数进行校验,
{
若校验失败,弹出提示“请输入正确的手机号码!”
将焦点定位至 varMobilePhone 元素,
执行 return 终止函数。
}
以下是手机号码验证函数的定义:
定义函数 isMobil(s) 用于校验手机号
{
定义正则 patrn 为 /(^0{0,1}1[3|4|5|6|7|8|9][0-9]{9}$)/,
若 patrn.exec(s) 返回 null(即不匹配),
{
则返回 false。
若通过校验,则返回 true。
后台 C# 代码验证逻辑如下:
若 model.Zip 不为 null,
{
则调用 Common.PageValidate.IsValidate 验证 Zip 字段,正则为 ^\\d{6}$,
若验证失败,调用 Common.WebMessage.showMsg 提示“请输入正确邮编”,
并执行 return 终止后续操作。
}
}
若 model.PhoneNo 不为 null,
{
则调用 Common.PageValidate.IsValidate 验证 PhoneNo 字段,正则为 \\d{3}-\\d{8}|\\d{4}-\\d{7},
{
若验证失败,调用 Common.WebMessage.showMsg 提示“请输入正确的电话号码!”
并执行 return 终止后续操作。
}
}
若 model.MobilePhone 不为 null,
{
则调用 Common.PageValidate.IsValidate 验证 MobilePhone 字段,正则为 ^0{0,1}(13[0-9]|15[3-9]|15[0-2]|18[0-9])[0-9]{8}$,
{
若验证失败,调用 Common.WebMessage.showMsg 提示“请输入正确11位有效的手机号码!”
并执行 return 终止后续操作。
}
} 作者最新文章
JS中将数组和对象混合组装为JSON字符串
2026-11-05 16:41:42
JS运算符优先级与结合性的区别是什么?
2026-11-05 13:22:02
JS Map怎么只遍历Key或Value
2026-11-05 13:00:36
D3.js 与 ECharts 选型对比:灵活性 vs 开发效率
2026-11-05 09:45:01
为什么JS中typeof []返回object:数组类型检测误区解析
2026-11-04 19:50:47
