/*
* 只能爲正整數
*/
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-1四、2012/05/六、2012.5.1四、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);
}