如何在asp.net(C#)里用正则表达式验证手机号码

作者:落知秋 | 创建时间: 2023-03-23
前两天写一个ASP.NET网站项目,里面刚好用到了正则表达式来验证手机号码的,自己稍微总结了下,特此分享给大家。大家可能会问网站项目一般都是用JS做验证就行了啊,何必还要在服务器端做验证呢,好的吧,项目要求,毕竟客户端验证是很容易被跳过的,...
如何在asp.net(C#)里用正则表达式验证手机号码

操作方法

1.在ASP.NET(C#)里面有一个Regex对象,这个对象就是C#里面专门用于正则表达式操作的对象。

1.我们写一小段代码用于测试 2.页面代码只有一个输入框用于输入待验证的手机号码和一个执行验证的按钮 3.cs代码里面主要是Regex dReg = new Regex("[0-9]{11,11}");

1.执行验证操作,当输入不是11位的数字时候,验证失败 2.执行验证操作,当输入真实的手机号码时候,验证通过

1.当我输入11位手机号码然后后面还跟了一个字符a,验证也能通过。 2.原来只是对待验证的内容作了验证,只要包含手机号码,验证都能通过, 这明显不是我想要的,我要的是对整个输入框的内容进行检测。

1.对cs代码里面的正则对象做了修改,分别在正则字符串前后加了^和$,这样就可以对整个输入字符串做验证,而不是内容的一部分。

1.修改后的验证结果

1.这个时候又有疑问了,我连续输入11个1还是能验证通过,明显的,这不是手机号码,原来手机号码是由组成模式的。

1.再对cs代码做修改,我们准备了移动,联通,电信的的三种手机号码正则表达式对象: //电信手机号码正则        string dianxin = @"^1[3578][01379]\d{8}$";        Regex dReg = new Regex(dianxin);        //联通手机号正则        string liantong = @"^1[34578][01256]\d{8}$";        Regex tReg = new Regex(liantong);        //移动手机号正则        string yidong = @"^(134[012345678]\d{7}|1[34578][012356789]\d{8})$";        Regex yReg = new Regex(yidong);

1.执行最新的C#正则表达式验证手机号码。对11个1验证失败,其他手机号码验证通过。

温馨提示

asp.net里面如何使用正则表达式验证手机号码需要客户端和服务器同时验证
c#里面如何用正则表达式Regex对象,主要是使用这个对象的IsMatch方法来执行验证的。
点击展开全文

更多推荐