jquery行为验证 jquery下载
大家好,今天小编来为大家解答jquery行为验证这个问题,jquery下载很多人还不知道,现在让我们一起来看看吧!
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文件就行了。希望能帮到大家。
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处理事件去掉
$("#shouji").focus();
}
如何给动态添加的form绑定jQuery.validate.js验证
1,动态添加验证规则
//添加
$("#addConnectUser").rules("add",{rules:{required:true,isString:true},messages:{required:"用户名为必填项",isString:"请输入规范字符"}});
//移除$("#addConnectUser").rules('remove','required');在此我要讲一下为什么有一个isString验证规则;这个是为了限制表单中input的输入规则;比如:不允许特殊字符,或者一些特殊的要求;这个isString是自己配置的
jQuery.validator.addMethod("isString",function(value,element){
returnthis.optional(element)||(inputTest.test(value));
},"请输入规范内容");
//此处的inputTest为你自定义的验证规则2,如何给已经添加了表单验证的选项移除验证规则;
$("#addConnectUser").rules("remove",'required');
//再次添加可以直接用$("#addConnectUser").rules("add",'required');
文章分享结束,jquery行为验证和jquery下载的答案你都知道了吗?欢迎再次光临本站哦!