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> ...
随机推荐
- react useCallback notice
多个不同输入框共用一个方法时使用useCallback: params = initParams = {code: "code_test", name: "name_te ...
- radio样式
.radio{ position: relative; border: 1px solid #999; border-radius: 50%; width: 12px; height: 12px; b ...
- linux内核第一宏 container_of
内核第一宏 list_entry()有着内核第一宏的美称,它被设计用来通过结构体成员的指针来返回结构体的指针.现在就让我们通过一步步的分析,来揭开它的神秘面纱,感受内核第一宏设计的精妙之处. 整理分析 ...
- search(8)- elastic4s-search-query模式
上篇提过query模式除对记录的筛选之外还对符合条件的记录进行了评分,即与条件的相似匹配程度.我们把评分放在后面的博文中讨论,这篇我们只介绍query查询. 查询可以分为绝对值查询和全文查询:绝对值查 ...
- nginx history路由模式时,页面返回404重定向index.html
1.路由默认是带#的,有时我们感觉不美观,就使其变为history模式,也就没有#字符 2.# 如果找不到当前页面(404),就返回index.html,重新分配路由 location ^~/prod ...
- /sbin/mount.vboxsf: mounting failed with the error: Protocol error
公司换了新电脑,需要把之前的虚拟机的配置全部备份下来,在移动的过程中挂载共享文件夹时候出现了 /sbin/mount.vboxsf: mounting failed with the error: P ...
- 虚拟化KVM之优化(三)
KVM的优化 1.1 cpu的优化 inter的cpu的运行级别,(Ring2和Ring1暂时没什么用)Ring3为用户态,Ring0为内核态 Ring3的用户态是没有权限管理硬件的,需要切换到内核态 ...
- java中CompletionService的使用
java中CompletionService的使用 之前的文章中我们讲到了ExecutorService,通过ExecutorService我们可以提交一个个的task,并且返回Future,然后通过 ...
- UVALive 7505 Hungry Game of Ants
1. 笔记 比较容易的动态规划题.往左很好考虑,往右用dpi表示前i只都被k吃掉后,k继续往右仍然不死的情况数.状态转移方程为dp[I]=dp[I+1]+...+dp[j],分别对应第I+1位向左,. ...
- 【三剑客】awk运算符
1. 算术运算符:+,-,*,/,% [root@oldboy test]# awk 'BEGIN{a=50;b=20;print "(a+b)=",(a+b)}' (a+b)= ...