/*
* 只能为正整数
*/
var
regNum0 = /^\d+$/;
/*
* 邮政编码
*/
var
regPostCode0 = /^\d{6}$/;
/*
* 用户名
* 只能是字母数字下划线,并且以字母开头(5-16位)
*/
var
regUserName0 = /^[a-zA-Z]\w{4,15}$/;
/*
* IP地址
* 如:192.168.1.102
*/
var
regIP0 = /^((([1-9]\d?)|(1\d{2})|(2[0-4]\d)|(25[0-5]))\.){3}(([1-9]\d?)|(1\d{2})|(2[0-4]\d)|(25[0-5]))$/;
/*
* 只能是中文汉字
*/
var
regChineseChar0 = /^[\u4e00-\u9fa5]+$/;
/*
* 网址
* 只允许http、https、ftp这三种
* 如:http://www.baidu.com
*/
var
regWeb0 = /^(([hH][tT]{2}[pP][sS]?)|([fF][tT][pP]))\:\/\/[wW]{3}\.[\w-]+\.\w{2,4}(\/.*)?$/;
/*
* 日期格式验证
* 因为日期格式比较多,主要验证了以下类型
* 2012-05-14、2012/05/6、2012.5.14、20120528
*/
var
regDate0 = /^[1-9]\d{3}([-|\/|\.])?((0\d)|([1-9])|(1[0-2]))\1(([0|1|2]\d)|([1-9])|3[0-1])$/;
/** 获得系统毫秒数 */
function
now() {
return
(
"function"
==
typeof
Date.now) ? Date.now() :
new
Date().valueOf();
}
/** 判断是否为空 */
function
isNull(val) {
if
(val ===
null
|| val ===
""
) {
return
true
;
}
return
false
;
}
function
formatDate(date){
}
/** 获得带汉字的日期 */
function
getTodayC() {
var
d =
new
Date();
var
s =
""
;
s += d.getFullYear() +
"年"
;
s += (d.getMonth() + 1) +
"月"
;
s += d.getDate() +
"日"
;
s +=
" 星期"
+ dateNumToChinese(d.getDay());
return
s;
}
/** 获得带英文的日期 */
function
getTodayE(geshi, week) {
var
d =
new
Date();
var
s =
""
;
if
((geshi ==
""
|| geshi ==
"-"
|| geshi ==
null
) && week == 0) {
s += d.getFullYear() +
"-"
;
s += (d.getMonth() + 1) +
"-"
;
s += d.getDate();
}
else
if
((geshi ==
""
|| geshi ==
"-"
|| geshi ==
null
) && week == 1) {
s += d.getFullYear() +
"-"
;
s += (d.getMonth() + 1) +
"-"
;
s += d.getDate() +
" "
;
s += dateNumToEn(d.getDay());
}
else
if
(geshi ==
"/"
&& week == 1) {
s += d.getFullYear() +
"/"
;
s += (d.getMonth() + 1) +
"/"
;
s += d.getDate() +
"/"
;
s += dateNumToEn(d.getDay());
}
else
{
s =
"error"
;
}
return
s;
}
/** 获得带汉字的时间 */
function
getTodayTimeC() {
var
d =
new
Date();
var
s =
""
;
s += d.getHours() +
"时"
;
// 获取当前小时数(0-23)
s += d.getMinutes() +
"分"
;
// 获取当前分钟数(0-59)
s += d.getSeconds() +
"秒"
;
return
s;
}
/** 获得英文的时间 */
function
getTodayTimeE(geshi) {
var
d =
new
Date();
var
s =
""
;
if
(geshi ==
""
|| geshi ==
null
|| geshi ==
":"
) {
s += d.getHours() +
":"
;
// 获取当前小时数(0-23)
s += d.getMinutes() +
":"
;
// 获取当前分钟数(0-59)
s += d.getSeconds();
}
else
if
(geshi ==
"-"
) {
s += d.getHours() +
"-"
;
// 获取当前小时数(0-23)
s += d.getMinutes() +
"-"
;
// 获取当前分钟数(0-59)
s += d.getSeconds();
}
else
if
(geshi ==
"/"
) {
s += d.getHours() +
"/"
;
// 获取当前小时数(0-23)
s += d.getMinutes() +
"/"
;
// 获取当前分钟数(0-59)
s += d.getSeconds();
}
return
s;
}
/** 转化数字为汉字星期 */
function
dateNumToChinese(num) {
if
(num == 1) {
return
"一"
;
}
else
if
(num == 2) {
return
"二"
;
}
else
if
(num == 3) {
return
"三"
;
}
else
if
(num == 4) {
return
"四"
;
}
else
if
(num == 5) {
return
"五"
;
}
else
if
(num == 6) {
return
"六"
;
}
else
if
(num === 0) {
return
"日"
;
}
else
{
return
"error"
;
}
}
/** 转化数字为英文星期 */
function
dateNumToEn(num) {
if
(num == 1) {
return
"Mon"
;
}
else
if
(num == 2) {
return
"Tue"
;
}
else
if
(num == 3) {
return
"Wed"
;
}
else
if
(num == 4) {
return
"Thu"
;
}
else
if
(num == 5) {
return
"Fri"
;
}
else
if
(num == 6) {
return
"Sat"
;
}
else
if
(num === 0) {
return
"Sun"
;
}
else
{
return
"error"
;
}
}
//
// | 求两个时间的天数差 日期格式为 YYYY-MM-dd
//
function
daysBetween(DateOne, DateTwo) {
var
OneMonth = DateOne.substring(5, DateOne.lastIndexOf(
'-'
));
var
OneDay = DateOne
.substring(DateOne.length, DateOne.lastIndexOf(
'-'
) + 1);
var
OneYear = DateOne.substring(0, DateOne.indexOf(
'-'
));
var
TwoMonth = DateTwo.substring(5, DateTwo.lastIndexOf(
'-'
));
var
TwoDay = DateTwo
.substring(DateTwo.length, DateTwo.lastIndexOf(
'-'
) + 1);
var
TwoYear = DateTwo.substring(0, DateTwo.indexOf(
'-'
));
var
cha = ((Date.parse(OneMonth +
'/'
+ OneDay +
'/'
+ OneYear) - Date
.parse(TwoMonth +
'/'
+ TwoDay +
'/'
+ TwoYear)) / 86400000);
return
Math.abs(cha);
}
//
// | 日期合法性验证
// | 格式为:YYYY-MM-DD或YYYY/MM/DD
//
function
IsValidDate(DateStr) {
var
sDate = DateStr.replace(/(^\s+|\s+$)/g,
''
);
// 去两边空格;
if
(sDate ==
''
)
return
true
;
// 如果格式满足YYYY-(/)MM-(/)DD或YYYY-(/)M-(/)DD或YYYY-(/)M-(/)D或YYYY-(/)MM-(/)D就替换为''
// 数据库中,合法日期可以是:YYYY-MM/DD(2003-3/21),数据库会自动转换为YYYY-MM-DD格式
var
s = sDate.replace(
/[\d]{ 4,4 }[\-/]{ 1 }[\d]{ 1,2 }[\-/]{ 1 }[\d]{ 1,2 }/g,
''
);
if
(s ==
''
)
// 说明格式满足YYYY-MM-DD或YYYY-M-DD或YYYY-M-D或YYYY-MM-D
{
var
t =
new
Date(sDate.replace(/\-/g,
'/'
));
var
ar = sDate.split(/[-/:]/);
if
(ar[0] != t.getYear() || ar[1] != t.getMonth() + 1
|| ar[2] != t.getDate()) {
// alert('错误的日期格式!格式为:YYYY-MM-DD或YYYY/MM/DD。注意闰年。');
return
false
;
}
}
else
{
// alert('错误的日期格式!格式为:YYYY-MM-DD或YYYY/MM/DD。注意闰年。');
return
false
;
}
return
true
;
}
//
// | 日期时间检查
// | 格式为:YYYY-MM-DD HH:MM:SS
//
function
CheckDateTime(str) {
var
reg = /^(\d+)-(\d{ 1,2 })-(\d{ 1,2 }) (\d{ 1,2 }):(\d{ 1,2 }):(\d{ 1,2 })$/;
var
r = str.match(reg);
if
(r ==
null
)
return
false
;
r[2] = r[2] - 1;
var
d =
new
Date(r[1], r[2], r[3], r[4], r[5], r[6]);
if
(d.getFullYear() != r[1])
return
false
;
if
(d.getMonth() != r[2])
return
false
;
if
(d.getDate() != r[3])
return
false
;
if
(d.getHours() != r[4])
return
false
;
if
(d.getMinutes() != r[5])
return
false
;
if
(d.getSeconds() != r[6])
return
false
;
return
true
;
}
/** 添加下拉列表 */
// jQUery版
function
addOptions(id, valueArr, contentArr) {
// 根据id获取对象
var
s = $(
"#"
+ id);
// 根据值数据的长度决定
var
length = valueArr.length;
if
(length < 1) {
s.append(
"<option value='"
+ valueArr +
"'>"
+ contentArr +
"</option"
);
}
else
{
for
(
var
i = 0; i < length; i++) {
s.append(
"<option value='"
+ valueArr[i] +
"'>"
+ contentArr[i]
+
"</option>"
);
}
}
}
/**
* 检验table中的输入值是否为空 传入要检验的table的id 若为空则返回相应的行号和列号
*/
// jQUery版
function
validTable(id) {
// 表
var
table1 = $(
"#"
+ id);
var
rows = 0;
var
result =
""
;
// 行
var
trs = $(
"#"
+ id +
" tr"
).each(
function
() {
rows++;
var
cols = 0;
var
collength = $(
this
).children(
"td"
).length;
// alert(collength);
// 列
var
tds = $(
this
).children(
"td"
);
tds.each(
function
() {
cols++;
var
value1 = $(
this
).children().val();
if
(isNull(value1)) {
$(
this
).children().focus();
result += rows +
","
+ cols +
";"
;
}
});
});
return
result;
}
/**
* 去空格
* @param str
*/
function
trim(str){
if
(str==
null
||str==
""
)
return
""
;
return
str.replace(/^\s+/g,
''
).replace(/\s+$/g,
''
);
};
/**
* 检验输入的是否是数字
* @param keyCode
*/
function
isNumber(keyCode){
//alert(keyCode);
if
(((keyCode >= 48 && keyCode <= 57 )&& window.event.shiftKey ==
false
)
||(keyCode >= 96 && keyCode <= 105 ))
return
true
;
return
false
;
}
function
isCursorCtrl(keyCode){
if
(keyCode >= 33 && keyCode <= 40 )
return
true
;
return
false
;
}
function
isPlusSign(keyCode){
if
(keyCode==187||keyCode==107)
return
true
;
return
false
;
}
function
isSubtractionSign(keyCode){
if
(keyCode == 109||keyCode == 189)
return
true
;
return
false
;
}
function
isDotSign(keyCode){
if
(keyCode==110 ||keyCode==190)
return
true
;
return
false
;
}
/**
* 检验是否是tab键
* @param keyCode
*/
function
isTab(keyCode){
if
(keyCode==9)
return
true
;
return
false
;
}
/**
* 检验是否是enter键
* @param keyCode
*/
function
isEnter(keyCode){
if
(keyCode==13)
return
true
;
return
false
;
}
/**
* 检验是否是退格键
* @param keyCode
*/
function
isBackspace(keyCode){
if
(keyCode==8)
return
true
;
return
false
;
}
/**
* 检验是否是delete键
*/
function
isDelete(keyCode){
if
(keyCode==46)
return
true
;
return
false
;
}
/**
* 将enter键转换为tab
*/
function
enterToTab() {
if
(window.event.keyCode==13)
window.event.keyCode=9;
}
/**
* 检验是否是数字
*/
function
isDigitStr(s){
var
patrn=/^[0-9]/;
if
(!patrn.exec(s))
return
false
;
return
true
;
};
/**
* 延迟跳转页面
* 注意要在页面数据加载完成后才执行此函数,否则开始跳转页面了
* @param {Object} url
*/
function
delayUrl(url){
var
lanrenzhijia = $(
"#time"
).html();
alert(1);
if
(lanrenzhijia > 0){
lanrenzhijia--;
document.getElementById(
'time'
).innerHTML = lanrenzhijia;
}
else
{
window.location.href = url ;
}
setTimeout(
"delayUrl('"
+ url +
"')"
,1000);
}
/**
* 延迟跳转
*/
function
delayUrl(url,time){
if
(time>0){
time--;
}
else
{
window.location.href = url ;
}
setTimeout(
"delayUrl('"
+ url +
"',"
+time+
")"
,1000);
}
/**
* 对符合条件的表单进行验证
*/
function
valide(){
//重复密码校验
if
($(
".confirmPass"
).val()!=
null
&&$(
".confirmPass"
).val()!=
""
&&$(
".confirmPass"
).val()!=$(
".password"
)){
alert(
"俩次密码不一致"
);
$(
".confirmPass"
).focus();
return
false
;
}
//邮箱校验
$(
".email"
).each(
function
(){
//alert($(this).val());
var
reEmail=/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
//alert(reEmail.test($(this).val()));
if
(!reEmail.test($(
this
).val())){
alert(
"邮箱格式不正确"
);
$(
this
).focus();
return
false
;
}
});
//日期校验
$(
".date"
).each(
function
(){
if
(!RQcheck($(
this
).val())){
alert(
"日期格式不正确"
);
$(
this
).focus();
return
false
;
}
});
//数字校验
$(
".num"
).each(
function
(){
var
reNum=/^(-?\d+)(\.\d+)?$/;
if
(!reNum.test($(
this
).val())){
alert(
"数字格式不正确"
);
$(
this
).focus();
return
false
;
}
});
//手机号
$(
".tel"
).each(
function
(){
var
reTel=/^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/;
if
(!reTel.test($(
this
).val())){
alert(
"手机号格式不正确"
);
$(
this
).focus();
return
false
;
}
});
//ip地址
$(
".IP"
).each(
function
(){
var
reIP=/^((([1-9]\d?)|(1\d{2})|(2[0-4]\d)|(25[0-5]))\.){3}(([1-9]\d?)|(1\d{2})|(2[0-4]\d)|(25[0-5]))$/;
if
(!reIP.test($(
this
).val())){
alert(
"IP地址格式不正确"
);
$(
this
).focus();
return
false
;
}
});
return
true
;
}
/**
* 校验日期
*/
function
RQcheck(RQ) {
var
date = RQ;
var
result = date.match(/^(\d{4})(-|\/)(\d{2})\2(\d{2})$/);
if
(result ==
null
){
return
false
;
}
var
d =
new
Date(result[1], result[3] - 1, result[4]);
return
(d.getFullYear() == result[1] && (d.getMonth() + 1) == result[3] && d.getDate() == result[4]);
}
/**
* 用于限制只输入数字
* 暂时只支持IE,火狐有待开发
*/
function
onlyNum(event){
var
evt = event ? event : (window.event ?window.event :
null
);
// alert(evt.keyCode);
if
(!(evt.keyCode==46)&&!(evt.keyCode==8)&&!(evt.keyCode==37)&&!(evt.keyCode==39)&&!(evt.keyCode==190)) {
if
(!((evt.keyCode>=48&&evt.keyCode<=57)||(evt.keyCode>=96&&evt.keyCode<=105))) {
evt.returnValue=
false
;
//不让非数字显示
}
}
//alert(evt.returnValue);
}