验证控件jQuery Validation Engine简单自定义正则表达式
首先上控件的地址http://code.ciaoca.com/jquery/validation-engine/
具体使用方式网站里说的很清楚,我写这篇文章主要是用于记录如何自己添加自定义正则表达式,这个问题折腾了几次,刚刚才会搞。网上也查了很多,都没有说到点子上的,也许是我太笨没看懂。
进入正题,这个控件很强大,里面的验证足够我们使用,但是有时候我们项目需求可能比较独特,这里面没有怎么办?那就得自己写一个正则然后匹配了,但是我一开始就怎么都找不到该往哪里填入自定义正则。

以上是网站里写的,但是这段该往哪里填呢?在我们引入文件的时候,会引入这个文件<script src="js/jquery.validationEngine-zh_CN.js"></script>,是在这个文件里填!
当然聪明的人可能早找到地方了,但是我比较笨,到最后才想到是不是填到源文件里,果不其然。
'everyName': {
'regex': '^[\u4E00-\u9FA5]+$|^[0-9]*$|\·', /* 自定义正则表达式 */
'alertText': '无效的姓名' /* 验证不通过时的提示 */
}
这段是我填入的正则,是为了匹配一个姓名,要求是数字、汉字、外带一个“·”,不符合则提示错误,符合则通过,当然这种鬼一般不会有通用的正则,得你自己写或者合并。
在这里我要说几点小细节,这是我本次碰到的问题:
1.写正则的时候要记得将regex放在引号中
2.想要让几个正则组合同时匹配,用‘|’这个竖杠,这里要注意,用|貌似只能单方面匹配,也就是说当我写一个正则让匹配数字、汉字、外带一个“·”,他们单独输入的时候是正确通过的,但是如果合并在一起,或者任意两个搭配,那么就会不通过。所以我今天又换了种写法,^[\u4E00-\u9FA50-9\·]+$ ^是开始的意思$是结尾的意思+是至少匹配一次\u4E00-\u9FA5是汉字0-9是数字\·代表·,用[]把他们匹配要求括起来, []用来自定义能够匹配 '多种字符' 的表达式。
3.想要匹配某个特殊字符,例如我这个点“·”,那么只需要加个斜杠就可以例如\·,或者说你就要匹配一个字,例如想让“js”这两个字母也符合要求,因为我们的要求是中文和数字,英文是不符合要求的,我只想让这两个字母也符合要求怎么办? \js这样就可以了
接下来我说一下这个控件的基础用法:
1首先引入文件
<link rel="stylesheet" href="css/validationEngine.jquery.css">
<script src="js/jquery.js"></script>
<script src="js/jquery.validationEngine-zh_CN.js"></script>
<script src="js/jquery.validationEngine.js"></script>
2然后给表单添加id
<form id="form_id" ...>
...
</form>
3开始在表单中使用
<input id="selectName1" type="text" class="validate[required,custom[everyName]]" data-errormessage-value-missing="* 此处不可空白" data-errormessage="* 字符格式不正确,请重新输入" />
首先,所有的验证都是在input的class里添加,validate[required]为必填的意思,而custom[everyName]则是正则匹配的要求了,具体可以看网站里,我这里的everyName是我自定义的。我试验了下custom[]内部只能填入一个且它本身也只能存在一个,不能多个。而validate[]的括号里面则可以填入多个,以逗号隔开,但是validate的本身只能存在一个。
validate[required,custom[number],maxSize[20],min[0]] 这段的意思是这是一个必填项,同时里面只能是数字,最多输入字符数为20,其中最小值为0
data-errormessage-value-missing="* 此处不可空白" 这段暂时理解为,如果含有required,它就会提示这句话,这句话可以自定义
data-errormessage="* 字符格式不正确,请重新输入" 这段的理解暂时为,如果不为空了,那么如果不符合我们自定义的正则及各种要求(只能是数字,最多输入字符数为20,其中最小值为0),则提示这句话,这句话也可以自定义。
以上就是这次使用的总结,主要是给自己看,以后如果忘了还能翻回来看O(∩_∩)O~
再记录一个,就是如果项目有开始时间和结束时间的话,要求是当选择了开始时间,那么在结束时间中,开始时间之前的就都不能被选择。反之,如果选择了结束时间,那么开始时间必须要在结束时间之前,之后的也都无法选择。需要一个js来控制。因为我们是用的bootstrap-datepicker这个控件,暂时在这里记录一下。
$(".times_ipt").eq(0).change(function(){
$(".times_ipt").eq(1).datepicker('setStartDate', $(this).val());
});
$(".times_ipt").eq(1).change(function(){
$(".times_ipt").eq(0).datepicker('setEndDate', $(this).val());
});
$(".times_p").eq(0).change(function(){
$(".times_p").eq(1).datepicker('setStartDate', $(this).val());
});
$(".times_p").eq(1).change(function(){
$(".times_p").eq(0).datepicker('setEndDate', $(this).val());
});
验证控件jQuery Validation Engine简单自定义正则表达式的更多相关文章
- 验证控件jQuery Validation Engine调用外部函数验证
在使用jQuery Validation Engine的时候,我们除了使用自带的API之外,还可以自己自定义正则验证.自定义正则验证上一篇已经讲过了,如果想使用自定义函数进行验证怎么办?其实这个控件有 ...
- jQuery插件之验证控件jquery.validate.js
今天学习一下jQuery.Validate插件,为便于日后翻阅查看和广大博客园园友共享,特记于此. 本博客转载自:jQuery Validate jQuery Validate 插件为表单提供了强大的 ...
- jQuery验证控件jquery.validate.js使用说明
官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation jQuery plugin: Validation 使用说明 转载 ...
- (转)jQuery验证控件jquery.validate.js使用说明+中文API
官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation jQuery plugin: Validation 使用说明 转载 ...
- jQuery验证控件jquery.validate.js的使用介绍
官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation jQuery plugin: Validation 使用说明 转载 ...
- jQuery验证控件jquery.validate.js使用说明+中文API(转)
一导入js库<script src="../js/jquery.js" type="text/javascript"></script> ...
- jQuery验证控件jquery.validate.js使用说明+中文API
官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation jQuery plugin: Validation 使用说明 学习 ...
- JS验证控件jQuery Validate
jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求.该插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证 ...
- jQuery验证控件jquery.validate.js汉化
如需要修改,可在js代码中加入: jQuery.extend(jQuery.validator.messages, { required: "必选字段", remote: &q ...
随机推荐
- postman插件安装教程
第一步: 第二步: 第三步: 这样就可以了. 插件下载链接: http://pan.baidu.com/s/1eRVLMpk 密码: 49vb
- 面试题HTML +CSS
HTML+CSS部分1.行内元素和块级元素?img算什么?行内元素怎么转化为块级元素?行内元素:和有他元素都在一行上,高度.行高及外边距和内边距都不可改变,文字图片的宽度不可改变,只能容纳文本或者其他 ...
- ASP。net 之view
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Index.aspx.cs&qu ...
- 2016ACM/ICPC亚洲区沈阳站-重现赛
C.Recursive sequence 求ans(x),ans(1)=a,ans(2)=b,ans(n)=ans(n-2)*2+ans(n-1)+n^4 如果直接就去解...很难,毕竟不是那种可以直 ...
- Intellij IDEA 配置最简单的maven-struts2环境的web项目
在idea里搭建maven项目 看着网上大神发的各种博客,然后自己搭建出来一个最简单的maven-strtus2项目,供初学者学习 新建project
- Fragment全解析系列(二):正确的使用姿势
作为一个稳定的app,从后台且回到前台,一定会在任何情况都能恢复到离开前的页面,并且保证数据的完整性. 如果你没看过本系列的第一篇,为了方便后面文章的介绍,先规定一个"术语",安卓 ...
- android 加载网络图片
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...
- 浪潮 NF5240M3 ,NP5540M3 服务器安装2008 R2
1,服务器系统的安装会出现错误的地方一般都是在Raid 卡驱动 略过Raid 卡配置, 具体 http://jingyan.baidu.com/article/ca41422fddfd201eae99 ...
- eclipse gradle插件(buildship)的安装和使用
一.下载gradle https://gradle.org/gradle-download/ 二.手动安装gradle插件 我选择的是buildship,经过实际使用,体验很好. 插件的下载地址是: ...
- [CF752D]Santa Claus and a Palindrome(优先队列,贪心乱搞)
题目链接:http://codeforces.com/contest/752/problem/D 题意:给长度为k的n个字符串,每一个字符串有权值,求构造一个大回文串.使得权值最大. 因为字符串长度都 ...