自己对正则验证也没系统用过,这次自己做个demo,一下子把这些全都用上了,下次有需要直接来拿了。
以下代码是在页面使用JQuery进行验证的,也有在后台进行验证的,可以试试,都一样的原理。
直接上代码:注意:(有些验证规则当然不仅仅是本文的,也许还有其他更好的,可以留言交流)
手机号:(移动-电信-联通)
var tel = $("#PhoneNumber").val();//获取输入的手机号
var yidongreg = /^(134[012345678]d{7}|1[34578][012356789]d{8})$/;
var dianxinreg = /^1[3578][01379]d{8}$/;
var liantongreg = /^1[34578][01256]d{8}$/;
//var reg = /^1[3|4|5|7|8]d{9}$/;//这一种也可以
if (yidongreg.test(tel) || dianxinreg.test(tel) || liantongreg.test(tel))
{
}
邮箱:
var emailvalue = $("#EmailUser").val();//获取输入的邮箱
//var emailreg1 = /^w+([-+.]w+)*@("@")w+([-.]w+)*.w+([-.]w+)*$/;//这个也可以
var emailreg = /^w+((-w+)|(.w+))*@("@")[A-Za-z0-9]+((.|-)[A-Za-z0-9]+)*.[A-Za-z0-9]+$/;
if (emailreg.test(emailvalue))
{
}
身份证:
var userCardvalue = $("#UserIDCard").val();//获取输入身份证
var usercard=/^[1-9]d{7}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{3}$|^[1-9]d{5}[1-9]d{3}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{3}([0-9]|X)$/;(这个包含对年月日那块是否合法的验证)
var userCardreg = /(^d{15}$)|(^d{18}$)|(^d{17}(d|X|x)$)/;
var taiwanreg=/^[A-Z][0-9]{9}$/;
var xianggangreg=/^[A-Z][0-9]{6}([0-9A])$/;
var aomenreg=/^[157][0-9]{6}([0-9])$/;
if(userCardreg.test(userCardvalue)||taiwanreg.test(userCardvalue)||xianggangreg.test(userCardvalue)||aomenreg.t est(userCardvalue))
{
}
网址验证:
string urlRegulation = "^((https|http|ftp|rtsp|mms)?://)"
+ "?(([0-9a-zA-Z_!~*'().&=+$%-]+: )?[0-9a-zA-Z_!~*'().&=+$%-]+@)?" //ftp的user@
+ "(([0-9]{1,3}.){3}[0-9]{1,3}" // IP形式的URL- 199.194.52.184
+ "|" // 允许IP和DOMAIN(域名)
+ "([0-9a-zA-Z_!~*'()-].)*" // 域名- www.
+ "([0-9a-zA-Z][0-9a-z-]{0,61})?[0-9a-z]." // 二级域名
+ "[a-zA-Z]{2,6})" // first level domain- .com or .museum
+ "(:[0-9]{1,4})?" // 端口- :80
+ "((/?)|" // a slash isn't required if there is no file name
+ "(/[0-9a-zA-Z_!~*'().;?:@&=+$,%#-]+)+/?)$";
有问题可以留言,我基本上每天都会看一次的。谢谢