📄 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 + -