您当前的位置:首页 > 互联网教程

jquery.validation自定义正则表达式验证

发布时间:2025-05-23 12:40:54    发布人:远客网络

一、jquery.validation自定义正则表达式验证

做项目时前台表单验证用了jquery.validation插件。

发现在做正则表达式验证时没有参数设置可以使用,需要一个个添加方法,比较麻烦。

就做了一个简单的分装,也总结了一些正则表达式。

*本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 postalcodeExp=/^[0-9][0-9]{5}$/;

var ffzfExp=/[@#\$%\^&\*]+/g;

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的字符串

function regular(funName,Exp){

jQuery.validator.addMethod(funName, function(value, element){

return this.optional(element)|| Exp.test(value);

*例如{"postalcodeCheck":postalcodeExp}

jQuery.validator.addMethod(i, function(value, element){

return this.optional(element)|| objExp[i].test(value);

这样在前台js里只需要申明一个对象,并引入这个js文件就行了。希望能帮到大家。

二、jQuery 手机号码验证

你的问题是这样的,当输入是空的时候,你注册了一个事件,在输入框后面显示 enter,然后这个事件就一直在;接下来,你输入手机号,比如 123,这时候会执行第二个 if里面的语句,

1、先把输入框后面的文字替换成“手机号码格式不正确!请重新输入!”

2、将焦点聚集在输入框上(注意这里,执行 focus()会触发之前定义的事件,导致文字又变回了“enter”)

这两步是一瞬间发生的,所以在你看来输入 123之后,鼠标失去焦点,文字是“enter”

if(!phone.val().match(/^[1][3][0-9]{9}$/)){

$("#mobile").html("<font color='red'>手机号码格式不正确!请重新输入</font>");

$("#shouji").unbind("focus");//添加这行,在focus()之前先把绑定的 focus处理事件去掉

三、怎样通过正则表达式删除内容里的空行

这次给大家带来怎样通过正则表达式删除内容里的空行,怎么怎样通过正则表达式删除内容里的空行?怎样通过正则表达式删除内容里的空行的注意事项有哪些,下面就是实战案例,一起来看一下。

这样,就可以匹配多个空行,同时用null来替代,就可以实现删除空行。此方案是基于对\r和\n的使用。

匹配之后,用null替代,也可以实现删除空行,

就完全实现了删除所有的空行,因为在每一个空行的开头和结尾都是

所以,删除了上一行之后,当前行还有一个\n\r,同样能够匹配上,所以,还要在做替代操作。这样,就可以删除所有的空行了。

这个就不是我们想要的结果.为什么呢?

C:\Program Files\Common Files\Relive.dll

C:\Program Files\Common Files\svchost.exe

C:\Program Files\Internet Explorer\msvcrt.bak

C:\Program Files\Internet Explorer\msvcrt.dll

C:\Program Files\Internet Explorer\msvcrt.ebk

C:\WINNT\system32\drivers\npf.sys

C:\WINNT\system32\WanPacket.dll

C:\Documents and Settings\User name\Local Settings\Temp\wmso.exe

C:\Documents and Settings\User name\Local Settings\Temp\BCG5.tmp

这个是原始文本,其实,在我们进行文本处理的时候,我们可以这样把空行,用

\r\n(回车换行,先回车,后换行)

C:\Program Files\Common Files\Relive.dll\r\n\r\nC:\Program Files\Common Files\svchost.exe\r\n\r\nC:\Program Files\Internet Explorer\msvcrt.bak\r\nC:\Program Files\Internet Explorer\msvcrt.dll\r\n\nC:\Program Files\Internet Explorer\msvcrt.ebk\r\n\r\n\r\n\r\nC:\WINNT\system32\drivers\npf.sys\r\nC:\WINNT\system32\wpcap.dll\r\nC:\WINNT\system32\Packet.dll\r\nC:\WINNT\system32\WanPacket.dll\r\n\r\nC:\Documents and Settings\User name\Local Settings\Temp\wmso.exe\r\nC:\Documents and Settings\User name\Local Settings\Temp\BCG5.tmp\r\n\r\n\r\n

这一段文本是一个整体,没有回车,没有空隙和间隔,这是我们正在处理的文本,只不过回车换行是不可见字符,所以就不能看到,但是还是存在的.

所以,在处理的时候才会出现我们上面的情况.

所有的\r\n都没有了,所以,文本,就成为了一个连接的纯字符文本了.

中间的所有的\n\r都替代掉了,\r(\n\r??\n\r)\n,中间的部分都替代掉了。所以就剩最后的一个\r\n.

相信看了这些案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!

mint-ui的search组件怎样可以在键盘显示搜索按钮

怎么实现springmvc接收jquery提交的数组后提取数据