/**
* 增加大于某个值的验证
*/
window.ParsleyValidator.addValidator(
'greater',
function (value,greater) {
if(isNaN(value)||isNaN(greater)){
return false;
}
return parseFloat(value)>parseFloat(greater);
}, 30);
/**
* 小于某个值的验证
*/
window.ParsleyValidator.addValidator(
'lesser',
function (value,lesser) {
if(isNaN(value)||isNaN(lesser)){
return false;
}
return parseFloat(value)<=parseFloat(lesser);
}, 30); /**
* 条件必须验证
*/
window.ParsleyValidator.addValidator(
'conditionalrequired',
function (value,requirements) {
if (requirements[1] == $(requirements[0]).val() && '' == $.trim(value))
return false;
return true;
}, 30); /**
* 手机号验证
*/
window.ParsleyValidator.addValidator(
'mobile',
function (value) {
var exp = /^1[345789][0-9]{9}$/;
return value&&exp.test(value);
}, 30);
/**
* 邮编验证
*/
window.ParsleyValidator.addValidator(
'zipcode',
function (value) {
var exp = /^[1-9][0-9]{5}$/;
return value&&exp.test(value);
}, 30);
/**
* 密码验证
*/
window.ParsleyValidator.addValidator(
'password',
function (value) {
var all = /^[\da-zA-Z`=\-\[\];',\.~!@#\$%\^&*\\\/\(\)_\+\|\{\}:"<>\?]+$/;
var numReg = /[\d]+/, charReg = /[a-zA-Z]+/, specReg = /[`=\-\[\];',\.~!@#\$%\^&*\\\/\(\)_\+\|\{\}:"<>\?]+/;
return value&&all.test(value)&&numReg.test(value)&&charReg.test(value)&&specReg.test(value);
}, 30);
/**
* 手机号或邮箱验证
*/
window.ParsleyValidator.addValidator(
'mobileandemail',
function (value) {
var emailPattern= /^[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?$/;
var mobilePattern = /^1[345789][0-9]{9}$/;
return value&&(emailPattern.test(value)||mobilePattern.test(value));
}, 20);
/**
* 多邮箱验证
*/
window.ParsleyValidator.addValidator(
'emails',
function (value,counts) {
if(!counts||Object.prototype.toString.call( counts ) !== '[object Array]'||counts.length!=2){
return false;
}
var emailsPatternBase = "[\\w!#$%&'*+/=?^_`{|}~-]+(?:\\.[\\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\\w](?:[\\w-]*[\\w])?\\.)+[\\w](?:[\\w-]*[\\w])?";
var reg = "^" + emailsPatternBase + "([,]" + emailsPatternBase + "){" + (counts[0]-1) + "," + (counts[1]-1) + "}[,]?$";
var emailsReg = new RegExp(reg);
return value&&emailsReg.test(value);
}, 30);
/**
* 小数位数验证
*/
window.ParsleyValidator.addValidator(
'numberdigit',
function (value,digit) {
if(digit==null||digit=='undefined'){
return false;
}
if(typeof digit !='number'){
return false;
}
var reg='^-?(?:\\d+|\\d{1,3}(?:,\\d{3})+)?(?:\\.\\d{1,'+digit+'})?$'
var numberReg = new RegExp(reg);
return value&&(numberReg.test(value));
}, 30);
/**
* 视频格式验证
*/
window.ParsleyValidator.addValidator(
'video',
function (value) {
if(value==null||value==''){
return false;
}
var video = value.indexOf('?') == -1 ? value : value.substring(0, value.indexOf('?'));
return video.substring(video.length-4).toLowerCase() === '.swf';
}, 30);

js 正则(部分)的更多相关文章

  1. js正则

    JS正则 test:判断字符串是否符合规定的正则 rep = /\d+/; rep.test("asdfoiklfasdf89asdfasdf") # true rep = /^\ ...

  2. js正则匹配的一个日常应用

    应用实例 1 /** 将段落中的 \n 转换为 <p></p>, 规范存储 */ 2 function formatParagraphForStore(val) { 3 var ...

  3. jS正则和WEB框架Django的入门

    JS正则 -test 判断字符串是否符合规定的正则表达式 -exec 获取匹配的数据 test的例子: 从上述的例子我们可以看出,如果rep.test匹配到了就返回true,否则返回false exe ...

  4. js正则实现二代身份证号码验证详解

    js正则实现二代身份证号码验证详解 根据[中华人民共和国国家标准 GB 11643-1999]中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成.排列顺序从左至 ...

  5. js 正则 以字母开头必须有 大小写字母数字组成 可以有“@"或 ”.“

    js  正则  以字母开头必须有 大小写字母数字组成 可以有“@"或 ”.“ var reg = /^[a-zA-Z]{1}(?=.*[a-z])(?=.*[A-Z])[a-zA-Z\d_@ ...

  6. 手机号码js正则验证

    手机号码js正则验证 var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/; if (!myreg.test($(" ...

  7. js正则标志/g /i /m的用法,以及实例

    js正则标志/g /i /m的用法,以及实例   正则的思想都是一样的,但是具体的写法会有所不同,在这里提到的/g,/i,/m在其他的地方也许就不能用了. 一,js正则标志/g,/i,/m说明 1,/ ...

  8. 记录一下JS正则的坑

    JS正则的单行模式有点问题 总之 . 符号匹配换行符号会有问题 暂时的解决方案是 html = html.replace(/[\r\n]/g,""); 附加一个 html = ht ...

  9. 奇怪的JS正则之 /[A-z]/.test("\\"); // true

    本文是在一个国外介绍JS的网站上转载过来的,作者很逗,先是举例JS让人XX的例子,再动手实践发现JS隐藏的黑知识.为什么 /[A-z]/.test("\\"); 是 true ,你 ...

  10. 撸一个JS正则小工具

    写完正则在浏览器上检测自己写得对不对实在是不方便,于是就撸了一个JS正则小demo出来. demo demo展示 项目地址 代码部分 首先把布局样式先写好. <!DOCTYPE html> ...

随机推荐

  1. 数据结构(C语言版)---查找

    1.查找表:同一类型的数据元素构成的集合. 2.对查找表进行的操作:查询某特定元素.检索满足条件的元素的属性.插入元素.删除元素. 1)若对查找表进行的操作只涉及前两种,则为静态查找表:需要进行插入和 ...

  2. 给动态ajax添加的元素添加click事件

    $(document).on('click','div',function(){alert(1)}); .live()方法也是可以的

  3. 2019-2020-1 20199329《Linux内核原理与分析》第十三周作业

    <Linux内核原理与分析>第十三周作业 一.本周内容概述 通过重现缓冲区溢出攻击来理解漏洞 二.本周学习内容 1.实验简介 注意:实验中命令在 xfce 终端中输入,前面有 $ 的内容为 ...

  4. 2019-2020-1 20199329《Linux内核原理与分析》第三周作业

    <Linux内核原理与分析>第三周作业 一.上周问题总结: 第二周头脑风暴完成较慢 虚拟机libc配置错误 书本知识使用不够熟练 二.本周学习内容: 1.实验楼环境虚拟一个x86的CPU硬 ...

  5. Unity 极简UI框架

    写ui的时候一般追求控制逻辑和显示逻辑分离,经典的类似于MVC,其余大多都是这个模式的衍生,实际上书写的时候M是在整个游戏的底层,我更倾向于将它称之为D(Data)而不是M(Model),而C(Ctr ...

  6. Libra教程之:Transaction的生命周期

    文章目录 Transaction的生命周期 提交一个Transaction 交易入链的详细过程 接收Transaction 和其他Validators共享这个Transaction 区块Proposi ...

  7. 【三剑客】awk命令2

    1. 程序结构: Begin 和 End模块 awk的程序的结构:Begin块,Body块,End块. BEGIN块:BEGIN {awk-commands} BEGIN块在被程序启动时启动,且只执行 ...

  8. F查询,Q查询,事物,only与defer

    F查询 之前的单表查询多表查询筛选条件都是一个固定的值,那么如何用字段来筛选呢? 比如 :           查询卖出数大于库存数的商品 这个时候我们就可以用到django里面的F查询了 查询示例表 ...

  9. Babel 在浏览器环境使用方法

    Babel 也可以用于浏览器环境.但是,从 Babel 6.0 开始,不再直接提供浏览器版本,而是要用构建工具构建出来.如果你没有或不想使用构建工具 1.通过安装5.x版本的babel-core模块获 ...

  10. Leo2DNT(雷傲论坛转DiscuzNT)1.0转换程序发布

    数据转换程序 雷傲论坛(Leobbs4.x) -> Discuz!NT V1.0    本转换程序基于Leobbs4.x设计     声明: 1.本程序只对数据作转换,不会对原来的雷傲论坛(数据 ...