正则表达式验证(正则表达式在线生成器)
大家好,感谢邀请,今天来为大家分享一下正则表达式验证的问题,以及和正则表达式在线生成器的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!
jquery.validation自定义正则表达式验证
做项目时前台表单验证用了jquery.validation插件。
发现在做正则表达式验证时没有参数设置可以使用,需要一个个添加方法,比较麻烦。
就做了一个简单的分装,也总结了一些正则表达式。
/**
*@anthor ycf
*@date 1017/11/3
*
*本js是对jquery.validator的自定义方法的封装
*只能用于正则表达验证
*页面必须调用jquery.validator.js
*共两个方法
* regular只添加一个正则自定义函数
* regulararr批量导入,传入对象即可。
*具体信息请看页面展示及函数参数说明
*以下是一些常用的正则表达式。
*/
//用户名验证
var usernameExp=/^[a-zA-Z0-9_-]{4,16}$/;
//姓名验证
var nameExp=/^[\u4E00-\u9FA5A-Za-z]+$/;
//密码验证
var pwdExp=/^[0-9a-zA-Z_#!@$%^&*]{6,16}$/;
//年龄验证
var ageExp=/^(?:0|[1-9][0-9]?|120)$/;
//邮箱验证
var emailExp=/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/;
//固定电话验证
var telExp=/^0\d{2,3}-\d{7,8}(-\d{1,6})?$/;
//手机号码验证
var phoneExp=/^0?(13[0-9]|15[012356789]|17[013678]|18[0-9]|14[57])[0-9]{8}$/;
//英文名验证
var enameExp=/^[a-zA-Z]+$/;
//邮政编码验证
var postalcodeExp=/^[0-9][0-9]{5}$/;
//QQ验证
var qqExp=/^\d{5,10}$/;
//非法字符验证
var ffzfExp=/[@#\$%\^&\*]+/g;
//IP验证
var ipExp=/((25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))/;
//非负整数验证
var ffzsExp=/^(0|[1-9]\d*)$/;
//正负小数验证
var zfxsExp=/^[+-]?\d*\.\d{1,3}$/;
//正负整数和小数验证
var zfzshxsExp=/^(-)?\d+(\.\d+)?$/;
//身份证号验证
var idcardExp=/^[1-9][0-9]{5}(19[0-9]{2}|200[0-9]|201[0-9]|202[0-9]|203[0-9])(0[1-9]|1[0-2])(0[1-9]|[12][0-9]|3[01])[0-9]{3}[0-9xX]$/i;
//限制输入
var limitExp=/^((?!test).)*$/;//不能输入包含test的字符串
/**
*自定义正则匹配方法
*@param funName自定义方法名
*@param Exp正则表达式
*@anthor ycf
*/
function regular(funName,Exp){
jQuery.validator.addMethod(funName, function(value, element){
return this.optional(element)|| Exp.test(value);
},"不通过");
}
/**
*批量添加自定义正则匹配方法
*@param objExp对象
*例如{"postalcodeCheck":postalcodeExp}
*
*@anthor ycf
*/
function regularArr(objExp){
$.each(objExp, function(i){
jQuery.validator.addMethod(i, function(value, element){
return this.optional(element)|| objExp[i].test(value);
},"不通过");
});
}
这样在前台js里只需要申明一个对象,并引入这个js文件就行了。希望能帮到大家。
验证数字的正则表达式
验证数字的正则表达式集
验证数字:^[0-9]*$
验证n位的数字:^\d{n}$
验证至少n位数字:^\d{n,}$
验证m-n位的数字:^\d{m,n}$
验证零和非零开头的数字:^(0|[1-9][0-9]*)$
验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$
验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$
验证非零的正整数:^\+?[1-9][0-9]*$
验证非零的负整数:^\-[1-9][0-9]*$
验证非负整数(正整数
+
0)
^\d+$
验证非正整数(负整数
+
0)
^((-\d+)|(0+))$
验证长度为3的字符:^.{3}$
验证由26个英文字母组成的字符串:^[A-Za-z]+$
验证由26个大写英文字母组成的字符串:^[A-Z]+$
验证由26个小写英文字母组成的字符串:^[a-z]+$
验证由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$
验证由数字、26个英文字母或者下划线组成的字符串:^\w+$
验证用户密码:^[a-zA-Z]\w{5,17}$
正确格式为:以字母开头,长度在6-18之间,只能包含字符、数字和下划线。
验证是否含有
^%&',;=?$\"
等字符:[^%&',;=?$\x22]+
验证汉字:^[\u4e00-\u9fa5],{0,}$
验证Email地址:^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
验证InternetURL:^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$
;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$
验证电话号码:^(\(\d{3,4}\)|\d{3,4}-)?\d{7,8}$:--正确格式为:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX。
验证身份证号(15位或18位数字):^\d{15}|\d{}18$
验证一年的12个月:^(0?[1-9]|1[0-2])$
正确格式为:“01”-“09”和“1”“12”
验证一个月的31天:^((0?[1-9])|((1|2)[0-9])|30|31)$
正确格式为:01、09和1、31。
整数:^-?\d+$
非负浮点数(正浮点数
+
0):^\d+(\.\d+)?$
正浮点数
^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
非正浮点数(负浮点数
+
0)
^((-\d+(\.\d+)?)|(0+(\.0+)?))$
负浮点数
^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
浮点数
^(-?\d+)(\.\d+)?
呵呵楼主是你想要的吗?是加点分,谢谢合作
如何使用JavaScript和正则表达式进行数据验证
RegExp对象包含了正则表达式的模式,该对象的方法和属性可以用来匹配字符串,有两种方法可以用来创建RegExp对象的实例:使用构造函数或使用正则表达式文本模式的文字方式,第二个参数是可选的,该参数可以指定该搜索是全局的(g)、忽略大小写的(i)或者全局同时忽略大小写(gi)。一般JavaScript的验证几乎都是用RegExp来实现,具体自己想要什么验证,可以自行搜索,
参考js常用正则表达式链接:
例如:
<html><head>
<title>RegExp validation</title>
<script language="JavaScript">
function validate(){
var doc= document.test;
varvalName= new RegExp("^(Tony|Anthony) Patton","i");
if(doc.Name.value.match(valName)== null){
alert("Name was not found.");
} else{
doc.Name.value= doc.Name.value.replace(valName,"T. Patton");
}
varvalTime= new RegExp("^([0-1][0-9]|[2][0-3]):([0-5][0-9])$");
if(doc.time.value.match(valTime)== null){
alert("Please enter correct time format(hh:ss)");
}}
</script></head>
<body><form name="test">
Name:<input type="text" name="Name" value=""><br>
Time:<input type="text" name="time" value=""><br>
<input type="button" name="test" value="test" onClick="validate();">
</form></body></html>
关于本次正则表达式验证和正则表达式在线生成器的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。