js 正则(部分)
/**
* 增加大于某个值的验证
*/
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 正则(部分)的更多相关文章
- js正则
JS正则 test:判断字符串是否符合规定的正则 rep = /\d+/; rep.test("asdfoiklfasdf89asdfasdf") # true rep = /^\ ...
- js正则匹配的一个日常应用
应用实例 1 /** 将段落中的 \n 转换为 <p></p>, 规范存储 */ 2 function formatParagraphForStore(val) { 3 var ...
- jS正则和WEB框架Django的入门
JS正则 -test 判断字符串是否符合规定的正则表达式 -exec 获取匹配的数据 test的例子: 从上述的例子我们可以看出,如果rep.test匹配到了就返回true,否则返回false exe ...
- js正则实现二代身份证号码验证详解
js正则实现二代身份证号码验证详解 根据[中华人民共和国国家标准 GB 11643-1999]中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成.排列顺序从左至 ...
- js 正则 以字母开头必须有 大小写字母数字组成 可以有“@"或 ”.“
js 正则 以字母开头必须有 大小写字母数字组成 可以有“@"或 ”.“ var reg = /^[a-zA-Z]{1}(?=.*[a-z])(?=.*[A-Z])[a-zA-Z\d_@ ...
- 手机号码js正则验证
手机号码js正则验证 var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/; if (!myreg.test($(" ...
- js正则标志/g /i /m的用法,以及实例
js正则标志/g /i /m的用法,以及实例 正则的思想都是一样的,但是具体的写法会有所不同,在这里提到的/g,/i,/m在其他的地方也许就不能用了. 一,js正则标志/g,/i,/m说明 1,/ ...
- 记录一下JS正则的坑
JS正则的单行模式有点问题 总之 . 符号匹配换行符号会有问题 暂时的解决方案是 html = html.replace(/[\r\n]/g,""); 附加一个 html = ht ...
- 奇怪的JS正则之 /[A-z]/.test("\\"); // true
本文是在一个国外介绍JS的网站上转载过来的,作者很逗,先是举例JS让人XX的例子,再动手实践发现JS隐藏的黑知识.为什么 /[A-z]/.test("\\"); 是 true ,你 ...
- 撸一个JS正则小工具
写完正则在浏览器上检测自己写得对不对实在是不方便,于是就撸了一个JS正则小demo出来. demo demo展示 项目地址 代码部分 首先把布局样式先写好. <!DOCTYPE html> ...
随机推荐
- 数据结构(C语言版)---查找
1.查找表:同一类型的数据元素构成的集合. 2.对查找表进行的操作:查询某特定元素.检索满足条件的元素的属性.插入元素.删除元素. 1)若对查找表进行的操作只涉及前两种,则为静态查找表:需要进行插入和 ...
- 给动态ajax添加的元素添加click事件
$(document).on('click','div',function(){alert(1)}); .live()方法也是可以的
- 2019-2020-1 20199329《Linux内核原理与分析》第十三周作业
<Linux内核原理与分析>第十三周作业 一.本周内容概述 通过重现缓冲区溢出攻击来理解漏洞 二.本周学习内容 1.实验简介 注意:实验中命令在 xfce 终端中输入,前面有 $ 的内容为 ...
- 2019-2020-1 20199329《Linux内核原理与分析》第三周作业
<Linux内核原理与分析>第三周作业 一.上周问题总结: 第二周头脑风暴完成较慢 虚拟机libc配置错误 书本知识使用不够熟练 二.本周学习内容: 1.实验楼环境虚拟一个x86的CPU硬 ...
- Unity 极简UI框架
写ui的时候一般追求控制逻辑和显示逻辑分离,经典的类似于MVC,其余大多都是这个模式的衍生,实际上书写的时候M是在整个游戏的底层,我更倾向于将它称之为D(Data)而不是M(Model),而C(Ctr ...
- Libra教程之:Transaction的生命周期
文章目录 Transaction的生命周期 提交一个Transaction 交易入链的详细过程 接收Transaction 和其他Validators共享这个Transaction 区块Proposi ...
- 【三剑客】awk命令2
1. 程序结构: Begin 和 End模块 awk的程序的结构:Begin块,Body块,End块. BEGIN块:BEGIN {awk-commands} BEGIN块在被程序启动时启动,且只执行 ...
- F查询,Q查询,事物,only与defer
F查询 之前的单表查询多表查询筛选条件都是一个固定的值,那么如何用字段来筛选呢? 比如 : 查询卖出数大于库存数的商品 这个时候我们就可以用到django里面的F查询了 查询示例表 ...
- Babel 在浏览器环境使用方法
Babel 也可以用于浏览器环境.但是,从 Babel 6.0 开始,不再直接提供浏览器版本,而是要用构建工具构建出来.如果你没有或不想使用构建工具 1.通过安装5.x版本的babel-core模块获 ...
- Leo2DNT(雷傲论坛转DiscuzNT)1.0转换程序发布
数据转换程序 雷傲论坛(Leobbs4.x) -> Discuz!NT V1.0 本转换程序基于Leobbs4.x设计 声明: 1.本程序只对数据作转换,不会对原来的雷傲论坛(数据 ...