JavaScript与C#后端手机号及固话验证实现方案

作者:后端茶话时间:2026-10-27 14:30:43浏览:316

本文分享两种常用的电话号码与手机号码验证方法。第一种基于原生JavaScript,通过正则表达式分别校验固话(含区号)与手机(13/153/159号段);第二种结合jQuery简化DOM操作,支持多号段校验。此外提供C#后端使用PageValidate进行邮编、固话及11位有效手机号的安全验证示例,确保前后端数据一致性。

JavaScript原生手机号与固话验证方案

第一种验证方案采用原生JavaScript实现,主要功能是校验用户输入的电话号码和手机号码。该方案支持固话格式(包含区号)以及特定的手机号段,包括153和159开头的号码。

具体代码实现如下所示:

function Checkreg()
{ 
//验证电话号码手机号码,包含153,159号段
if (document.form.phone.value=="" && document.form.UserMobile.value==""){
alert("电话号码和手机号码至少选填一个阿!");
document.form.phone.focus();
return false;
} 
if (document.form.phone.value != ""){
var phone=document.form.phone.value;
var p1 = /^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/;
var me = false;
if (p1.test(phone))me=true;
if (!me){
document.form.phone.value='';
alert('对不起,您输入的电话号码有错误。区号和电话号码之间请用-分割');
document.form.phone.focus();
return false;
} 
} 
if (document.form.UserMobile.value != ""){
var mobile=document.form.UserMobile.value;
var reg0 = /^13\d{5,9}$/;
var reg1 = /^153\d{4,8}$/;
var reg2 = /^159\d{4,8}$/;
var reg3 = /^0\d{10,11}$/;
var my = false;
if (reg0.test(mobile))my=true;
if (reg1.test(mobile))my=true;
if (reg2.test(mobile))my=true;
if (reg3.test(mobile))my=true;
if (!my){
document.form.UserMobile.value='';
alert('对不起,您输入的手机或小灵通号码有错误。');
document.form.UserMobile.focus();
return false;
} 
return true;
} 
} 

说明:test方法用于检查字符串中是否存在匹配的模式,若存在则返回true,否则返回false。

正则表达式解析:\d代表数字;{7,8}表示7至8位数字(用于固话);{3,}表示分机号;d{2,3}表示区号;\+]\d{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的简化验证实现

第二种方案同样基于JavaScript,但引入了jQuery来简化DOM元素获取与操作。

具体代码实现如下:

具体代码实现如下:

var Mobile = $("#varMobilePhone").val();
var Phone = $("#varPhoneNo").val();
if (Mobile == ""&&Phone == "")
{ 
alert("手机和固话,请至少填写一项联系方式!");
$("#varMobilePhone").focus();
return;
} 
if(Mobile!="")
{ 
if(!isMobil(Mobile))
{ 
alert("请输入正确的手机号码!");
$("#varMobilePhone").focus();
return; }
} 
//手机号码验证信息
function isMobil(s)
{ 
var patrn = /(^0{0,1}1[3|4|5|6|7|8|9][0-9]{9}$)/;
if (!patrn.exec(s))
{ 
return false;
} return true; }
C#后端数据校验逻辑后端验证逻辑示例(C#):
if (model.Zip != null)
{ 
if (!Common.PageValidate.IsValidate(model.Zip,"^\\d{6}$"))
{ Common.WebMessage.showMsg(HttpContext.Current, "请输入正确邮编");
return;
} 
} 
if (model.PhoneNo != null)
{ 
if (!Common.PageValidate.IsValidate(model.PhoneNo, "\\d{3}-\\d{8}|\\d{4}-\\d{7}"))
{ 
Common.WebMessage.showMsg(HttpContext.Current, "请输入正确的电话号码!");
return;
} 
} 
if (model.MobilePhone != null)
{ 
if (!Common.PageValidate.IsValidate(model.MobilePhone, "^0{0,1}(13[0-9]|15[3-9]|15[0-2]|18[0-9])[0-9]{8}$"))
{ 
Common.WebMessage.showMsg(HttpContext.Current, "请输入正确11位有效的手机号码!");
return;
} 
} 
作者最新文章