zoukankan
html css js c++ java
js验证常用正则表达式集锦
Code
js验证常用正则表达式集锦
<
script
>
/**/
/*
************************************************
************************************************
*/
Validator
=
{
Require :
/
.+
/
,
Email :
/
^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
/
,
Phone :
/
^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$
/
,
Mobile :
/
^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$
/
,
Url :
/
^http:\
/
\
/
[A-Za-z0-9]+\.[A-Za-z0-9]+[\
/
=
\
?%
\
-&
_
~
`@[\]\
'
:+!]*([^<>\"\"])*$/,
IdCard : /^\d{15}(\d{2}[A-Za-z0-9])?$/,
Currency : /^\d+(\.\d+)?$/,
Number : /^\d+$/,
Zip : /^[1-9]\d{5}$/,
QQ : /^[1-9]\d{4,8}$/,
Integer : /^[-\+]?\d+$/,
Double : /^[-\+]?\d+(\.\d+)?$/,
English : /^[A-Za-z]+$/,
Chinese : /^[\u0391-\uFFE5]+$/,
Username : /^[a-z]\w{3,}$/i,
UnSafe : /^(([A-Z]*|[a-z]*|\d*|[-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\
'
\
"
]*)|.{0,5})$|\s/,
IsSafe : function(str){return !this.UnSafe.test(str);},
SafeString :
"
this
.IsSafe(value)
"
,
Filter :
"
this
.DoFilter(value, getAttribute(
'
accept
'
))
"
,
Limit :
"
this
.limit(value.length,getAttribute(
'
min
'
), getAttribute(
'
max
'
))
"
,
LimitB :
"
this
.limit(
this
.LenB(value), getAttribute(
'
min
'
), getAttribute(
'
max
'
))
"
,
Date :
"
this
.IsDate(value, getAttribute(
'
min
'
), getAttribute(
'
format
'
))
"
,
Repeat :
"
value
==
document.getElementsByName(getAttribute(
'
to
'
))[
0
].value
"
,
Range :
"
getAttribute(
'
min
'
)
<
(value
|
0
)
&&
(value
|
0
)
<
getAttribute(
'
max
'
)
"
,
Compare :
"
this
.compare(value,getAttribute(
'
operator
'
),getAttribute(
'
to
'
))
"
,
Custom :
"
this
.Exec(value, getAttribute(
'
regexp
'
))
"
,
Group :
"
this
.MustChecked(getAttribute(
'
name
'
), getAttribute(
'
min
'
), getAttribute(
'
max
'
))
"
,
ErrorItem : [document.forms[0]],
ErrorMessage : [
"
以下原因导致提交失败:\t\t\t\t
"
],
Validate : function(theForm, mode){
var obj = theForm || event.srcElement;
var count = obj.elements.length;
this.ErrorMessage.length = 1;
this.ErrorItem.length = 1;
this.ErrorItem[0] = obj;
for(var i=0;i<count;i++){
with(obj.elements[i]){
var _dataType = getAttribute(
"
dataType
"
);
if(typeof(_dataType) ==
"
object
"
|| typeof(this[_dataType]) ==
"
undefined
"
) continue;
this.ClearState(obj.elements[i]);
if(getAttribute(
"
require
"
) ==
"
false
"
&& value ==
""
) continue;
switch(_dataType){
case
"
Date
"
:
case
"
Repeat
"
:
case
"
Range
"
:
case
"
Compare
"
:
case
"
Custom
"
:
case
"
Group
"
:
case
"
Limit
"
:
case
"
LimitB
"
:
case
"
SafeString
"
:
case
"
Filter
"
:
if(!eval(this[_dataType])) {
this.AddError(i, getAttribute(
"
msg
"
));
}
break;
default :
if(!this[_dataType].test(value)){
this.AddError(i, getAttribute(
"
msg
"
));
}
break;
}
}
}
if(this.ErrorMessage.length > 1){
mode = mode || 1;
var errCount = this.ErrorItem.length;
switch(mode){
case 2 :
for(var i=1;i<errCount;i++)
this.ErrorItem[i].style.color =
"
red
"
;
case 1 :
alert(this.ErrorMessage.join(
"
\n
"
));
this.ErrorItem[1].focus();
break;
case 3 :
for(var i=1;i<errCount;i++){
try{
var span = document.createElement(
"
SPAN
"
);
span.id =
"
__ErrorMessagePanel
"
;
span.style.color =
"
red
"
;
this.ErrorItem[i].parentNode.appendChild(span);
span.innerHTML = this.ErrorMessage[i].replace(/\d+:/,
"
*
"
);
}
catch(e){alert(e.description);}
}
this.ErrorItem[1].focus();
break;
default :
alert(this.ErrorMessage.join(
"
\n
"
));
break;
}
return false;
}
return true;
},
limit : function(len,min, max){
min = min || 0;
max = max || Number.MAX_VALUE;
return min <= len && len <= max;
},
LenB : function(str){
return str.replace(/[^\x00-\xff]/g,
"
**
"
).length;
},
ClearState : function(elem){
with(elem){
if(style.color ==
"
red
"
)
style.color =
""
;
var lastNode = parentNode.childNodes[parentNode.childNodes.length-1];
if(lastNode.id ==
"
__ErrorMessagePanel
"
)
parentNode.removeChild(lastNode);
}
},
AddError : function(index, str){
this.ErrorItem[this.ErrorItem.length] = this.ErrorItem[0].elements[index];
this.ErrorMessage[this.ErrorMessage.length] = this.ErrorMessage.length +
"
:
"
+ str;
},
Exec : function(op, reg){
return new RegExp(reg,
"
g
"
).test(op);
},
compare : function(op1,operator,op2){
switch (operator) {
case
"
NotEqual
"
:
return (op1 != op2);
case
"
GreaterThan
"
:
return (op1 > op2);
case
"
GreaterThanEqual
"
:
return (op1 >= op2);
case
"
LessThan
"
:
return (op1 < op2);
case
"
LessThanEqual
"
:
return (op1 <= op2);
default:
return (op1 == op2);
}
},
MustChecked : function(name, min, max){
var groups = document.getElementsByName(name);
var hasChecked = 0;
min = min || 1;
max = max || groups.length;
for(var i=groups.length-1;i>=0;i--)
if(groups[i].checked) hasChecked++;
return min <= hasChecked && hasChecked <= max;
},
DoFilter : function(input, filter){
return new RegExp(
"
^
.
+
\.(
?=
EXT)(EXT)$
"
.replace(/EXT/g, filter.split(/\s*,\s*/).join(
"
|
"
)),
"
gi
"
).test(input);
},
IsDate : function(op, formatString){
formatString = formatString ||
"
ymd
"
;
var m, year, month, day;
switch(formatString){
case
"
ymd
"
:
m = op.match(new RegExp(
"
^
((\\d
{
4
}
)
|
(\\d
{
2
}
))([
-
.
/
])(\\d{1,2})\\4(\\d{1,2})$"));
if
(m
==
null
)
return
false
;
day
=
m[
6
];
month
=
m[
5
]
*
1
;
year
=
(m[
2
].length
==
4
)
?
m[
2
] : GetFullYear(parseInt(m[
3
],
10
));
break
;
case
"
dmy
"
:
m
=
op.match(
new
RegExp(
"
^(\\d{1,2})([-./])(\\d{1,2})\\2((\\d{4})|(\\d{2}))$
"
));
if
(m
==
null
)
return
false
;
day
=
m[
1
];
month
=
m[
3
]
*
1
;
year
=
(m[
5
].length
==
4
)
?
m[
5
] : GetFullYear(parseInt(m[
6
],
10
));
break
;
default
:
break
;
}
if
(
!
parseInt(month))
return
false
;
month
=
month
==
0
?
12
:month;
var
date
=
new
Date(year, month
-
1
, day);
return
(
typeof
(date)
==
"
object
"
&&
year
==
date.getFullYear()
&&
month
==
(date.getMonth()
+
1
)
&&
day
==
date.getDate());
function
GetFullYear(y)
{
return
((y
<
30
?
"
20
"
:
"
19
"
)
+
y)
|
0
;}
}
}
<
/
script>
查看全文
相关阅读:
7 MSSQL数据库备份与恢复
6.Netbackup-Oracle数据库恢复演练报告(下)
5、Oracle备份(oracle备份脚本配置)
1.6 NBU Catalog备份还原
标示符和关键字的总结--希望别再犯错
JDBC_基础6步骤- 及优化
算法总结
bootstrap-全局CSS&js插件
bootstrap入门&栅格系统
JavaScript中的事件
原文地址:https://www.cnblogs.com/zhangwen/p/1411710.html
最新文章
JIRA开启时间追踪并为问题记录工作日志
linux常用命令
jira使用一:如何给项目分组、sprint并行、禁止发送消息给atlassian
liunx -bash:ls:command not found,执行命令总是报找不到
Git学习笔记(10)——搭建Git服务器
Git学习笔记(9)——自定义配置
Git学习笔记(8)——标签管理
Git学习笔记(7)——多人协作
Git学习笔记(6)——Bug和Feature分支
Git学习笔记(5)——分支管理
热门文章
Git学习笔记(4)——添加远程仓库,克隆远程库,以及库的推送
Git学习笔记(3)——撤销修改和文件的删除
Git学习笔记(2)——版本的回退,和暂存区的理解
Git学习笔记(1)——安装,配置,创建库,文件添加到库
ORA-01262,oracle启动报错,及Oracle启动原理
思考分析常用思维模型
七个常见消费心理学
《高效能人士的七个习惯》读书笔记
《原则》笔记
《怎样在股市获得稳健收益》精品课笔记
Copyright © 2011-2022 走看看