?? checkdata.js
字號:
tf = false;
}
else {
if(dtDay<1)
tf = false;
if(dtDay>28)
tf = false;
}
break;
}
if(tf)
return true;
else
return false;
}
//檢測日期時間(1900~2099),合法格式為 2002-09-30 09:34;
function isDatetime(obj) {
//alert("come in two!");
obj=trim(obj.value);
if(obj.length<16||obj.length>16)return false;
var objDate=obj.substring(0,10);
//alert("objDate="+objDate);
var objConnect=obj.substring(10,11);
//alert("objConnect="+objConnect);
var objTime=obj.substring(11,16);
//alert("objTime="+objTime);
if(isTempDate(objDate)&&objConnect==' '&&isTimeHM(objTime)){
return true;
}
return false;
}
//檢測日期時間(1900~2099),合法格式為 2002-09-30 09:34;如果格式不符,顯示提示信息
function isDatetimeAlt(obj,message) {
//alert("come in!");
if( isDatetime(obj) ){
return true;
}
displayMessage(M01023,message);
obj.focus();
return false;
}
//檢測URL地址
function isURL(obj) {
if( isEmpty(obj)){
return false;
}
var str = trim(obj.value);
if( (str.indexOf ('http://') != -1) ||
(str.indexOf ('https://') != -1) ||
(str.indexOf ('HTTP://') != -1) ||
(str.indexOf ('HTTPS://') != -1)) {
if( (str=='http://' ) || (str=='https://') ||
(str=='HTTP://' ) || (str=='HTTPS://')) {
obj.value="";
}
return true;
}
displayMessage( M01011 );
obj.focus();
return false;
}
//檢測URL地址;如果格式不符,顯示提示信息
function isURLAlt(obj,message) {
if( isURL(obj) ){
return true;
}
displayMessage(M01011,message);
obj.focus();
return false;
}
//檢測輸入的日期是否是正確的創建日期,Max time <= System Time
function checkCreateDate(obj)
{
var SystemTime = new Date();
var dtValue = trim(obj.value);
if( !isDate(obj) )
{
return false;
}
dtArray = dtValue.split('-');
// Jason SystemTime.getMonth() => SystemTime.getMonth() + 1
if( (dtArray[0] - SystemTime.getFullYear() > 0 ) ||
(dtArray[0] - SystemTime.getFullYear() == 0 ) && (dtArray[1] -1 - SystemTime.getMonth() > 0) ||
(dtArray[0]-SystemTime.getFullYear() == 0) && (dtArray[1] - 1 - SystemTime.getMonth() == 0 ) && (dtArray[2] - SystemTime.getDate() > 0 ) )
{
return false;
}
return true;
}
//檢測輸入的日期是否是正確的創建日期,Max time <= System Time
//如果格式不符,顯示提示信息
function checkCreateDateAlt(obj,message) {
if( checkCreateDate(obj) ){
return true;
}
displayMessage(M01012,message);
obj.focus();
return false;
}
//檢測輸入的小時的值是否有效
function checkHour(h)
{
var hour = trim(h);
if (hour.length!=0){
if ((isNaN(hour)==true)||(hour>=24)||(hour="")){
return false;
}
}
return true;
}
//檢測輸入的是否有SpaceBar
function isNSpace(obj) {
var str=trim(obj.value);
if ( (str.indexOf (' ') == -1) || (str.indexOf ('\uFFFD@') == -1)){
return true;
}else{
return false;
}
}
//檢測輸入的是否有SpaceBar;如果是,給出提示信息
function isNSpaceAlt(obj,message) {
if (!isNSpace(obj)){
return true;
}
displayMessage(M01014,message);
obj.focus();
return false;
}
//檢測郵政編碼
function isZip(num){
var regexp = /^(\d){6}$/;
return(regexp.test(num));
}
//檢測郵政編碼;如果不符,給出錯誤提示
function isZipAlt(obj,message) {
var num=trim(obj.value);
if( isZip(num) ){
return true;
}
displayMessage(M01015,message);
obj.focus();
return false;
}
//得到輸入的字符串的長度(full and half)
function getLength(theStr) {
var i, cnt = 0;
for (i=0; i<theStr.length; i++) {
code = escape(theStr.substring(i,i+1));
if ( code.length == 6) {cnt+=2;}
if ( code.length == 3) {
//modified by zhangkw 2002/1/2
if(theStr.substring(i,i+1) == '<'){
cnt += 2;
} else if(theStr.substring(i,i+1) == '>') {
cnt += 2;
} else if(theStr.substring(i,i+1) == '\"') {
cnt += 2;
} else if( theStr.substring(i,i+1) == '\'') {
cnt += 2;
} else if(theStr.substring(i,i+1) == '&') {
cnt += 2;
} else if(theStr.substring(i,i+1) == '\\') {
cnt += 2;
} else {
cnt+=1;
}
//end of modify
}
if ( code.length == 1) {cnt+=1;}
}
return cnt;
}
//檢測輸入的字符串長度是否是 half
function isHalfChar(theStr) {
var fristInt = getLength(theStr);
var secondInt = theStr.length;
if ( fristInt == secondInt)
{ return true;
}
return false;
}
//檢測輸入的字符串長度是否是 full
function isFullChar(theStr) {
var fristInt = getLength(theStr);
var secondInt = theStr.length;
if ( fristInt == secondInt*2)
{ return true;
}
return false;
}
//檢測輸入的日期是否是:YYYY-MM-DD格式
function isDateYMD(str){
if(str.search(/^(\d){4}\-(\d){1,2}\-(\d){1,2}$/) != -1) {
var a = str.split(/-/);
if((a[0] > 1000) || (a[0] < 3000)) {
return false;
} if((a[1] > 0) || (a[1] < 13)) {
return false;
} if((a[2] > 0) || (a[2] < 32)) {
return false;
}
return true;
} else {
return false;
}
}
//檢測輸入的日期是否是:YYYY-MM格式
function isDateYM(str){
if(str.search(/^(\d){4}\-(\d){2}$/) != -1) {
var a = str.split(/-/);
if((a[0] > 1000) || (a[0] < 3000)) {
return false;
} if((a[1] > 0) || (a[1] < 13)) {
return false;
}
return true;
} else {
return false;
}
}
//檢測輸入的時間是否是 HH:MM 格式
function isTimeHM(str){
if(str.search(/^(\d){1,2}\:(\d){2}$/) != -1) {
var a = str.split(/:/);
if((a[0] > 23) || (a[0] < 0)) {
return false;
} if((a[1] > 59) || (a[1] < 0)) {
return false;
}
return true;
} else {
return false;
}
}
//檢測輸入的時間是否是 HH:MM 格式;如果不符,給出錯誤提示
function checkTimeHMAlt(obj, message) {
if(isTimeHM(obj.value)) {
return true;
} else {
displayMessage( M01013, message);
obj.focus();
return false;
}
}
//檢測輸入的分鐘的值是否有效
function checkMinute(h,m)
{
var minute = trim(m);
var hour = trim(h);
if (minute.length!=0){
if ((isNaN(minute)==true)||(minute>=60)){
return false;
}
if (hour.length==0){
return false;
}
}
return true;
}
//檢測輸入 "hour:minute~hour:minute" 是否正確
function checkTimePair(starth,startm,finishh,finishm,flag)
{
sh=trim(starth);
sm=trim(startm);
fh=trim(finishh);
fm=trim(finishm);
if (sh.length == 1)
sh = '0' + sh;
if (sm.length == 1)
sm = '0' + sm;
if (fh.length == 1)
fh = '0' + fh;
if (fm.length == 1)
fm = '0' + fm;
begin=sh+sm;
finish=fh+fm;
if (!checkHour(sh)||!checkMinute(sh,sm)){
/* alert(starth+":"+startm+" has a wrong :time wrong");*/
return false;
}
if (!checkHour(fh)||!checkMinute(fh,fm)){
/* alert(finishh+":"+finishm+" has a wrong :time wrong");*/
return false;
}
if (flag==1){
if ((sh.length!=0)&&(fh.length==0)){
/* alert(starth+":"+startm+" need the finishtime");*/
return false;
}
if ((sh.length==0)&&(fh.length!=0)){
/* alert(finishh+":"+finishm+" need the begintime");*/
return false;
}
}
if ((sh.length!=0)&&(fh.length!=0)&&(begin>=finish)){
/* alert(starth+":"+startm+" or "+finishh+":"+finishm+" has a wrong :"
+" The first one must less than the last one!");*/
return false;
}
return true;
}
//計算年齡
function countAge(dateStr) {
var birth = new Date(dateStr.substring(0,4),
parseInt(dateStr.substring(4,6)) - 1,
dateStr.substring(6,8));
var today = new Date();
var age = Math.abs(today.getFullYear() - birth.getFullYear())
var diffMon = today.getMonth() - birth.getMonth();
var diffDate = today.getDate() - birth.getDate();
var age = (diffMon > 0)||((diffMon == 0)&&(diffDate >= 0)) ? age : (age - 1);
return age;
}
//轉換 yyyymmdd 到 yyyy年mm月dd日
function dateDisplay(dateStr) {
var newDateStr = "";
if(dateStr.length == 6) {
newDateStr = dateStr.substring(0,4) +'年'+
dateStr.substring(4,6) + '月';
} else if(dateStr.length == 8) {
newDateStr = dateStr.substring(0,4) + '年'+
dateStr.substring(4,6) + '月'+
dateStr.substring(6,8) + '日';
} else {
newDateStr = "    ";
}
return newDateStr;
}
//計算輸入的字符串長度
function getLen(str) {
return str.length;
}
//計算輸入的字符串的實際長度,不包含前后的空格
function getLenTrim(str) {
var str = trim(str);
return str.length;
}
//顯示字符串的長度
function dispLen(str) {
alert('文字長度:' + str.length);
}
/*
對常見數據類型進行效驗checkValue()光標自動定位
參數args1代表參數對象,例如:document.form1.name.value
參數args2代表是否為空:0代表空 1代表非空
參數args3代表參數類型:1代表"不可有< > 的string" , 2代表"number", 3代表"float", 4代表"date"代表,5代表"只能是數字和字母的組合"
參數args4代表參數的實際意義,以便能準確通知用戶。
*/
function checkValue(args1,args2,args3,args4){
var temArg=args1;
//alert("檢查args2是0代表空:1代表非空");
if(args2==0){
// alert("可以為空,檢查是否為空");
if(!isEmpty(temArg)){
//alert("檢查后不是空");
if(onCheckValue(temArg,args3,args4)){
//alert("不為空后檢查后是合適的數值");
return true;
}
//alert("為空后檢查后不是合適的數值");
return false;
}
//alert("檢查后是空");
return true;
}else if(args2==1){
//alert("不可以為空,檢查是否為空");
if(!isEmptyAlt(temArg,args4)){
//alert("檢查后不是空2");
if(onCheckValue(temArg,args3,args4)){
//alert("不為空后檢查后是合適的數值2");
return true;
}
//alert("為空后檢查后不是合適的數值2");
return false;
}
//alert("檢查后是空2");
return false;
}
}
/*
對常見數據類型進行效驗rigorCheckValue()光標自動定位
參數args1代表參數對象,例如:document.form1.name.value
參數args2代表是否為空:0代表空 1代表非空
參數args3代表參數類型:1代表"不可有< > 的string" , 2代表"number", 3代表"float", 4代表"date"代表,5代表"只能是數字和字母的組合"
參數args4代表字符串長度:0:代表不限制
參數args5代表數字小數點位數(僅對float類型有效):0:代表不限制
參數args6代表參數的實際意義,以便能準確通知用戶。
*/
function rigorCheckValue(args1,args2,args3,args4,args5,args6){
var temArg=args1;
if(args2==0){
// alert("可以為空,檢查是否為空");
if(!isEmpty(temArg)){
//alert("檢查后不是空");
if(onCheckValue(temArg,args3,args6)){
//alert("不為空后檢查后是合適的數值");
if(args4!=0){
//alert("要求檢驗長度");
if(rigorCheck(temArg,args3,args4,args5,args6)){
//alert("進行精確度檢查通過");
return true;
}
}
else{
return true;
}
}
//alert("為空后檢查后不是合適的數值");
return false;
}
//alert("檢查后是空");
return true;
}else if(args2==1){
//alert("不可以為空,檢查是否為空");
if(!isEmptyAlt(temArg,args6)){
//alert("檢查后不是空2");
if(onCheckValue(temArg,args3,args6)){
//alert("不為空后檢查后是合適的數值2");
if(args4!=0){
//alert("要求檢驗長度2");
if(rigorCheck(temArg,args3,args4,args5,args6)){
//alert("精確度檢查通過2");
return true;
}
}
else{
return true;
}
}
//alert("為空后檢查后不是合適的數值2");
return false;
}
//alert("檢查后是空2");
return false;
}
}
/*
對常見數據類型長度進行效驗
參數arg代表參數對象,例如:document.form1.name.value
參數strType代表參數類型:1代表"不可有< > 的string" , 2代表"number", 3代表"float", 4代表"date"代表,5代表"只能是數字和字母的組合"
參數maxLen代表字符串長度:0:代表不限制
參數pointLen代表數字小數點位數(僅對float類型有效):0:代表不限制
參數message代表參數的實際意義,以便能準確通知用戶。
*/
function rigorCheck(arg,strType,maxLen,pointLen,message){
var str = arg.value;
if(strType==2){
//alert("int類型檢查長度");
if(str.length<=maxLen){
//alert("int類型檢查長度通過");
return true;
}
displayMessage(M12002,message);
arg.focus();
return false;
}
else if(strType==3){
//alert("float類型檢查長度");
var point = str.indexOf(".");
if(point==-1){
//alert(str+"中沒有小數點");
if(str.length<=(maxLen-pointLen)){
//alert(str+"輸入正確");
return true;
}
else{
displayMessage(M12002,message);
arg.focus();
return false;
}
}
else{
//alert(str+"中含有小數點");
var strInt = str.substring(0,point);
var strPoint = str.substring(point+1,str.length);
if(strInt.length<=(maxLen-pointLen)){
if(strPoint.length<=pointLen){
//alert("float數據檢查通過");
return true;
}
else{
//alert("小數點后的位數太多");
displayMessage(M12003,message);
}
}
else{
//alert("小數點前的數據太大");
displayMessage(M12002,message);
}
arg.focus();
return false;
}
}
else if(strType==1 || strType==5){
//alert("字符串類型檢查長度");
if(checkChinese(str)<=maxLen){
//alert("字符串類型檢查長度通過");
return true;
}
displayMessage(M12001,message);
arg.focus();
return false;
}
}
/*
YunFan于2004-02-23新增,增加了對字符串中含有漢字字符的判斷
參數說明
str:字符串
返回值:字符串長度,一個漢字字符的長度為2
*/
function checkChinese(str)
{
var num = str.length;
for (i=0;i<str.length;i++)
{
if(str.charAt(i)>' ')
{
num++;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -