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

2025-11-16 05:27:22

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

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

2、我们写一小段代码用于测试

2.页面代码只有一个输入框用于输入待验证的手机号码和一个执行验证的按钮

3.cs代码里面主要是Regex dReg = new Regex("[0-9]{11,11}");

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

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

3、执行验证操作,当输入不是11位的数字时候,验证失败

2.执行验证操作,当输入真实的手机号码时候,验证通过

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

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

4、当我输入11位手机号码然后后面还跟了一个字符a,验证也能通过。

2.原来只是对待验证的内容作了验证,只要包含手机号码,验证都能通过,

这明显不是我想要的,我要的是对整个输入框的内容进行检测。

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

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

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

6、修改后的验证结果

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

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

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

8、再对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);

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

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

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

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

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢