http://ken_kang.blog.bitscn.com/archives/2007/16499.html
<script language="javascript">
/*
下列函数返回值说明:
凡是“Is”开头的函数,如果是"Is"后指明的状态,则返回真,否则为假
eg. IsNum 如果是数字,返回真
某些“Check”开头的函数,如果是"Check"后指明的状态,返回假,否则为真
某些则相反,请具体查看函数说明
eg. CheckEmpty 如果是空,返回假
函数名解释:
当有重载出现时
NP 表示没有参数(no parameter)
3P,4P 等表示参数个数(3 parameter,4 parameter)
***************************************************************
函数目录:
-----------校验输入与工具类--------------------------------------------
ReplaceDoubleQuotes(strValue) 替换双引号为"
CheckUnsafeMark(frm) 检查参数frm(form)对象里所有输入控件是否含有非法字符
CheckKey(KeyCode) 检查输入键是否为0~9,a~z(A~Z),Del,-,.,
CheckEmptyNP() 校验触发者的值是否为空
CheckEmpty(CheckCtl,disptext) 校验输入值是否为空
CheckCardNo(CheckCtl,disptext) 校验一个合法的身份证号码(15,18位)
Trim(strSource) 清除左右两边空格
IsEmail(CheckCtl, s) 判断是否是正确的电子邮件地址
IsPhoneNumber(CheckCtl,s) 判断是否是正确的电话号码
IsLetter(CheckCtl,s) 判断是否是字母组合
IsCode(CheckCtl,s) 判断是否是数字编码组合 数字和数字编码的区别:
数字编码允许 000000010 ,不允许诸如: -1290092 ,23.,.3456等类型的值,而数字则认为是真
IsUserName(CheckCtl,s) 判断是否是正确的用户名 用户名只能由小写英文字母、阿拉伯数字和下划线组成!s=null or s="" 时有默认的提示信息
IsImageFile(FilePath) 判断是否文件路径中文件是图像文件,路径可以是url或者file:\\
------------数字类-----------------------------------------
Round(i,digit) 取整函数,digid为保留的小数位数
CheckPositiveInt(CheckCtl,disptext,IsCanZero) 校验一个正整数
CheckPositiveIntNP() 校验触发者的值是否为一个正整数
CheckPositiveFloat(CheckCtl,disptext,floatcount) 校验一个合法的大于等于0的浮点数
CheckPositiveFloatNP() 校验触发者的值是否一个合法的大于等于0的浮点数(2位小数)
CheckPositiveFloat4P(CheckCtl,disptext,IsCanZero,floatcount) 校验一个合法的大于0的浮点数,是否可以等于零由参数IsCanZero决定
IsCost(Costctrl) 检查费用输入,小数位为2位,且不能超过SQL Server中数据字段money最大值
IsNum(txtctl,message,floatcount) 校验是否是数字
CheckIntRange(CheckCtl,Min, Max,Msg) 校验一个合法的且在规定范围内的整数
CheckFloatRange(CheckCtl,Min, Max,Msg) 校验一个合法的且在规定范围内的浮点数
-----------日期类-------------------------------------------
GetDateDiff(strStart,strEnd) 计算两个日期间隔天数
CheckYear(strYearInput) 检查输入是否是个有效年份
AddDay(dateObj,days) 把一个日期加上n天
CheckDiffDate(BDateCtl,EDateCtl,Msg) 比较两个日期的大小,如果开始日期大于结束日期,返回false;
DateToStr(dateObj) 将一个日期对象转化为格式yyyy-MM-dd字符串
DateTimeToStr(dateObj) 将一个日期时间对象转化为形如 yyyy-MM-dd HH:mm:ss 的字符串
StrToDate(str) yyyy-MM-dd 的字符串转化为日期对象:
StrToDateTime(str) 将一个yyyy-MM-dd HH:mm:ss 的字符串转化为日期时间对象
StrToDateTime6P(year,month,day,hour,minute,second) 将一个参数构成的yyyy-MM-dd HH:mm:ss 的字符串转化为日期时间对象
IsDate(str) 判断一个字符串是否为有效的日期并且格式是否正确 YYYY-MM-DD
----------------------------------------------------------
*************************************************************
*/
var maxpn=999999999999;
var maxfn=999999999999.9;
var numerrormsg0="请输入0-999999999999之内的数字";
var numerrormsg1="请输入1-999999999999之内的数字";
var overerrormsg="数值超过最大值999999999999";
//替换双引号为"//
function ReplaceDoubleQuotes(strValue){
return strValue.replace('"','"');
}
//
//检查FORM里所有输入控件是否含有非法字符//
function CheckUnsafeMark(frm)
{
for(var i=0;i<frm.length;i++)
{
var edit = frm.item(i);
var stag = edit.tagName;
if (edit.type) {
var stype = edit.type;
if ( (stype.toLowerCase()!="password") && (stype.toLowerCase() != "text") )
{
continue;
}
} else{
var stag = edit.tagName;
if (stag.toLowerCase()!="textarea"){
continue;
}
}
var s = Trim(edit.value);
if ((s.indexOf("\"")>=0)||(s.indexOf("\'")>=0)||(s.indexOf("<")>=0)||(s.indexOf(">")>=0))
{
alert("不能输入包含非法字符(如\", \', <, >)的文字!");
edit.select();
edit.focus();
return false;
}
else
continue;
}//end of for
return true;
}
//检查输入键是否为0~9,a~z(A~Z),Del,-,.,/
//KeyDown 有效
function CheckKey(KeyCode)
{
Zero=48;
Nine=57;
Delete=46;
Minus=189;
Dot=190;
Divide=191;
Key_a=65;
Key_z=90;
_Zero=96;
_Nine=105;
_Divide=111;
_Minus=109;
_Dot=110;
return ((KeyCode>=Key_a)&&(KeyCode<=Key_z))||((KeyCode>=Zero)&&(KeyCode<=Nine))||((KeyCode>=_Zero)&&(KeyCode<=_Nine))||(KeyCode==Delete)||(KeyCode==Dot)||(KeyCode==Minus)||(KeyCode==Divide)||(KeyCode==0)||(KeyCode==_Minus)||(KeyCode==_Divide)||(KeyCode==_Dot);
}
//取整函数
//eg. Round(132.123456) 为 132.12
//eg. Round(132.123456,4) 为 132.1234
//eg. Round(132.123456,0) 为 132
function Round(i,digit)
{
if (isNaN(parseFloat(i)))
{
return '0';
}
if(digit==0)
p=1;
else
{
if(digit)
p=Math.pow(10,digit);
else
p=100;
}
var mm = Math.round(i*p)/p;
var strTmp = eval("'"+ mm +"'");
var behind = '';
if (strTmp.indexOf('.')>=0)
{
behind = strTmp.substring(strTmp.indexOf('.')+1,strTmp.length);
while(digit-behind.length>0)
{
behind += '0';
}
strTmp = strTmp.substring(0,strTmp.indexOf('.')+1) + behind;
}
else
{
for(var j=0;j< digit;j++)
{
behind += '0';
}
if (digit >0)
{
strTmp = strTmp + '.' + behind;
}
}
return strTmp;
}
/********************************************
功能:自动计算两个日期间隔天数
先要检查开始日期是否大于截止日期,如果大于,返回
参数: start 开始日期字符串 end 截止日期字符串
*/
function GetDateDiff(strStart,strEnd)
{
var start = strStart;
var end = strEnd;
if (StrToDate(start) > StrToDate(end))
{
alert("起始日期必须小于截止日期!");return;
}
else
{
var startdate = new Date();
startdate = StrToDate(start);
var enddate = new Date();
enddate = StrToDate(end);
var overdue = parseFloat(enddate) - parseFloat(startdate);
overdue = overdue/(1000*24*60*60);
return overdue;
}
}
/*
功能: 得到两个日期相差的天数(每一个月按30天,一年360天计算) 该函数不精确
入口参数:
datestartObj: 日期对象1
dateendObj: 日期对象2
返回 dateendObj - datestartObj相差的天数 */
/*function GetDayDiff(datestartObj,dateendObj)
{
var year=dateendObj.getFullYear() - datestartObj.getFullYear();
var month=dateendObj.getMonth() - datestartObj.getMonth();
var day=dateendObj.getDate() - datestartObj.getDate();
return year*12*30+month*30+day;
}*/
/*
功能:检查输入是否是个有效年份 */
function CheckYear(strYearInput)
{
var years = strYearInput;
if ( years != "" && !isNaN(parseInt(years)) )
{
if (parseInt(years)<=3000 && parseInt(years)>=1900)
{
return true;
}
else
{ alert('请输入合法年份!');return false;}
}
else
return true;
}
/* 功能: 把一个日期加上n天
入口参数:
dateObj: 要计算的日期对象
days: 增加的天数
返回 增加后的新日期对象 */
function AddDay(dateObj,days)
{
try
{
var lngDiff = parseFloat(days);
lngDiff = lngDiff*24*60*60*1000;
dateObj = StrToDate(DateToStr(dateObj));
var ret = new Date(dateObj.getTime()+lngDiff);
return ret;
}
catch(x)
{
return dateObj;
}
}
/* 功能: 校验一个正整数
入口参数:CheckCtl: 要校验的输入框 disptext: 出错显示的信息 IsCanZero : 是否可以为零
返回: 真: 是正整数 假: 不是*/
function CheckPositiveInt(CheckCtl,disptext,IsCanZero)
{
var s=new String(Trim(CheckCtl.value));
var temp=parseInt(s);
var result=true;
if ( (isNaN(temp)) || (temp<0) || ( s.indexOf(".")>=0 )||(temp!=s))
{
result=false;
}
else if ( (!IsCanZero)&&(temp==0) )
{
result=false;
}
if (temp>maxpn)
{
result=false;
disptext=overerrormsg;
}
if (!result)
{
DispMessage(CheckCtl, disptext);
return false;
}
return true;
}
//
//不带参数的校验一个正整数
function CheckPositiveIntNP()
{
var o = event.srcElement;
if (o)
{
if (o.tagName == "INPUT" && !isNaN(parseFloat(o.value)) )
return CheckPositiveInt(o,'请输入正整数!',true)
else
return true;
}
else
return true;
}
/*功能: 校验一个合法的大于等于0的浮点数
入口参数:
CheckCtl: 要校验的输入框 disptext: 出错显示的信息
floatcount: 小数的最高位数(如果没有该参数,则默认为4位)
如果没有page参数,有floatcunt参数则:把page 置null
如: CheckPositiveFloat(CheckCtl,"出错显示的信息",null,5) */
function CheckPositiveFloat(CheckCtl,disptext,floatcount)
{
var s=new String(Trim(CheckCtl.value));
temp=parseFloat(s);
var result=true;
if( (isNaN(temp)) || (temp< 0)||(temp!=s) )
{
result=false;
}
else if (temp>maxfn)
{
result=false;
disptext=overerrormsg;
}
else
{
limitcount=floatcount?floatcount:4;
var array=s.split(".");
if (array[1]==null)
count=-1;
else
{
var str=new String(array[1]);
count=str.length;
}
if (count>limitcount)
{
b=confirm("小数位数超过"+limitcount+"位,是否继续?");
if (b)
{
return true;
}
else
{
CheckCtl.select();
CheckCtl.focus();
return false;
}
}
}
if (!result)
{
DispMessage(CheckCtl,disptext);
return false;
}
return true;
}
//不带参数校验一个合法的大于等于0的浮点数(2位小数)
function CheckPositiveFloatNP()
{
var o = event.srcElement;
if (o)
{
if (o.tagName == "INPUT" && !isNaN(parseFloat(o.value)) )
return CheckPositiveFloat(o,'请输入正确的数目!',2);
else
return true;
}
else
return true;
}
/*
校验一个合法的大于0的浮点数
参数:CheckCtl: 要校验的输入框
disptext: 出错显示的信息
IsCanZero:是否可以等于零
floatcount: 小数的最高位数(如果没有该参数,则默认为4位)
*/
function CheckPositiveFloat4P(CheckCtl,disptext,IsCanZero,floatcount)
{
if ( CheckPositiveFloat(CheckCtl,disptext,floatcount) )
{
if ( (parseFloat(CheckCtl.value)==0) &&(!IsCanZero) )
{
DispMessage(CheckCtl,disptext);
return false;
}
else return true;
}
else
return false;
}
/*
检查费用输入,小数位为2位,且不能超过数据字段money最大值
true: 正确
*/
function IsCost(Costctrl)
{
if (Costctrl.value != "")
{
if (IsNum(Costctrl,"费用请填入金额!",2))
{
if (!CheckFloatRange(Costctrl,0,900337203685477.5807,"费用金额超出范围!"))
return false;
else
return true;
}
else
return false;
}
else
return true;
}
/*判断是否是数字的函数
输入:txtctl 输入的文本控件 message 显示的错误信息
floatcount: 小数的最高位数(如果没有该参数,则默认为4位)
返回值 :是数字返回true,不是返回false
如: IsNum(txtctl,"出错显示的信息",5) */
function IsNum(txtctl,message,floatcount)
{
var s=new String(Trim(txtctl.value));
var result=true;
var num=Number(s);
if ( (isNaN(num)) || (s=="") )
{
result=false;
}
else if (num>maxfn)
{
message=overerrormsg;
result=false;
}
else
{
limitcount=floatcount?floatcount:4;
var array=s.split(".");
if (array[1]==null)
count=-1;
else
{
var str=new String(array[1]);
count=str.length;
}
if (count>limitcount)
{
alert("小数位数超过"+limitcount+"位!");
txtctl.select();
txtctl.focus();
return false;
}
}
if (!result)
{
DispMessage(txtctl,message);
return false;
}
return true;
}
/*
功能:检查是否为空,不用任何参数,触发者为Text
*/
function CheckEmptyNP()
{
var CheckCtl = event.srcElement;
if (Trim(CheckCtl.value)=="" )
{
CheckCtl.focus();
return false;
}
else
return true;
}
/*功能: 校验一个值是否为空
入口参数:CheckCtl: 要校验的输入框 disptext: 出错显示的信息
false:为空
*/
function CheckEmpty(CheckCtl,disptext)
{
if (Trim(CheckCtl.value)=="" )
{
DispMessage(CheckCtl,disptext);
return false;
}
else
return true;
}
/*功能: 校验一个合法的且在规定范围内的整数
入口参数:
CheckCtl: 要校验的输入框 Min: 下限
Max: 上限
Msg: 出错显示的信息 */
function CheckIntRange(CheckCtl,Min, Max,Msg)
{
if (!IsNum(CheckCtl,Msg))
return false;
var s=new String(Trim(CheckCtl.value));
v=parseInt(s);
if ( (v<Min) || (v>Max) || (s.indexOf(".")>=0))
{
DispMessage(CheckCtl,Msg);
return false;
}
return true;
}
/*功能: 校验一个合法的且在规定范围内的浮点数 入口参数:
CheckCtl: 要校验的输入框 Min: 下限
Max: 上限
Msg: 出错显示的信息 */
function CheckFloatRange(CheckCtl,Min, Max,Msg)
{
if (!IsNum(CheckCtl,Msg))
return false;
v=parseFloat(Trim(CheckCtl.value));
if ( (v<Min) || (v>Max) )
{
DispMessage(CheckCtl,Msg);
return false;
}
return true;
}
/*功能: 校验一个合法的身份证号码(15,18位)
入口参数:
CheckCtl: 要校验的输入框
disptext: 出错显示的信息 */
function CheckCardNo(CheckCtl,disptext)
{
var result=true;
var strvalue=new String(Trim(CheckCtl.value));
if ( strvalue!="" )
{
num=parseInt(strvalue);
if ( ( isNaN(num) ) || (num<100000000000000)|| (strvalue.indexOf(".")>=0)||(num!=strvalue) )
result=false;
else
if ( (num>999999999999999)&&(num<100000000000000000) )
result=false;
else
if (num>999999999999999999)
result=false;
}
if (!result)
{
DispMessage(CheckCtl,disptext);
}
return result;
}
//显示信息
function DispMessage(CheckCtl,Msg)
{
if (Msg!="")
{
alert(Msg);
//CheckCtl.select();
CheckCtl.focus();
}
}
/*
去掉空格同VBSCRIPT中的trim
*/
function Trim(strSource)
{
return strSource.replace(/^\s*/,'').replace(/\s*$/,'');
}
/*功能: 比较两个日期的大小,如果开始日期大于结束日期,返回false;
入口参数:
BDate:开始日期输入框 EDate:结束日期输入框
Msg: 出错显示的信息 */
function CheckDiffDate(BDate,EDate,Msg)
{
if ( (!CheckEmpty(BDate,"请输入开始时间或日期!")) || (!CheckEmpty(EDate,"请输入结束时间或日期!")) )
return false;
str = BDate.value;
if(!IsDate(str)){DispMessage(BDate,"开始时间或日期不是有效的日期");return false;}
aa = str.split("-");
BYear = parseInt(aa[0],10);
BMonth = parseInt(aa[1],10);
BDay = parseInt(aa[2],10);
str = EDate.value;
if(!IsDate(str)){DispMessage(EDate,"结束时间或日期不是有效的日期");return false;}
bb = str.split("-");
EYear = parseInt(bb[0],10);
EMonth = parseInt(bb[1],10);
EDay = parseInt(bb[2],10);
if(BYear<1900)
{
DispMessage(BDate,"日期不能小于1900年!");
return false;
}
if(EYear<1900)
{
DispMessage(EDate,"日期不能小于1900年!");
return false;
}
b=(BYear*10000)+(BMonth*100)+BDay;
e=(EYear*10000)+(EMonth*100)+EDay;
if(e==b)
return true;
else
if(e>b)
return true;
else
{
DispMessage(BDate,Msg);
return false;
}
}
/*
功能: 将一个日期对象转化为格式yyyy-MM-dd字符串:
dateObj 日期对象
*/
function DateToStr(dateObj)
{
var im;
var id;
var paradate = new Date();
paradate = dateObj;
if ((paradate.getMonth()+1)<10)
{
im = paradate.getMonth()+1;
im = '0' + im;
}
else
im = paradate.getMonth()+1;
if ((paradate.getDate())<10)
id = "0"+paradate.getDate();
else
id = paradate.getDate();
return paradate.getFullYear() + "-" + im + "-"
+ id;
}
/*功能: 将一个日期时间对象转化为字符串:
dateObj 日期对象
返回:形如 yyyy-MM-dd HH:mm:ss 的字符串
*/
function DateTimeToStr(dateObj)
{
var im;
var id;
var ih;
var iminutes;
var iseconds;
var paradate = new Date();
paradate = dateObj;
if ((paradate.getMonth()+1)<10)
{
im = paradate.getMonth()+1;
im = '0' + im;
}
else
im = paradate.getMonth()+1;
if ((paradate.getDate())<10)
id = "0"+paradate.getDate();
else
id = paradate.getDate();
if (paradate.getHours()< 10)
{
ih = "0" + paradate.getHours();
}
else
ih = paradate.getHours();
if (paradate.getMinutes()< 10)
{
iminutes = "0" + paradate.getMinutes();
}
else
iminutes = paradate.getMinutes();
if (paradate.getSeconds()< 10)
{
iseconds = "0" + paradate.getSeconds();
}
else
iseconds = paradate.getSeconds();
var ret = paradate.getFullYear() + "-" + im + "-"
+ id + " " + ih + ":" + iminutes + ":" + iseconds;
return ret;
}
/*功能: 字符串转化为日期对象:
返回: date 日期对象
str yyyy-MM-dd 的字符串
*/
function StrToDate(str)
{
var date = new Date();
date = Date.parse(str);
if (isNaN(date)) {
date = Date.parse(str.replace(/-/g,"/")); // 识别日期格式:YYYY-MM-DD
if (isNaN(date)) date = 0;
}
date = new Date(date);
return(date);
}
/*功能: 将一个字符串转化为日期时间对象:
返回: date 日期对象
str yyyy-MM-dd HH:mm:ss 的字符串
*/
function StrToDateTime(str)
{
var datTmp = new Date();
try
{
var aryTmp = str.split(' ');
var aryTmpBig = aryTmp[0].split('-');
var year = aryTmpBig[0];
var month = aryTmpBig[1];
var day = aryTmpBig[2];
var mm = month;
if (mm.indexOf('0') == 0)
{
mm = mm.substring(1,mm.length);
}
var dd = day;
if (mm=="1"){mm="JAN";}
if (mm=="2"){mm="FEB";}
if (mm=="3"){mm="MAR";}
if (mm=="4"){mm="APR";}
if (mm=="5"){mm="MAY";}
if (mm=="6"){mm="JUN";}
if (mm=="7"){mm="JUL";}
if (mm=="8"){mm="AUG";}
if (mm=="9"){mm="SEP";}
if (mm=="10"){mm="OCT";}
if (mm=="11"){mm="NOV";}
if (mm=="12"){mm="DEC";}
var expdate_string=mm+" "+dd+","+year+" "+aryTmp[1];
var mii = Date.parse(expdate_string);
datTmp = new Date(mii);
}
catch(x)
{alert('日期格式不正确!');}
return datTmp;
}
/*功能: 将字符串转化为日期时间对象:
返回: date 日期对象
yyyy-MM-dd HH:mm:ss 的字符串
*/
function StrToDateTime6P(year,month,day,hour,minute,second)
{
var datTmp = new Date();
var mm = month;
if (mm.indexOf('0') == 0)
{
mm = mm.substring(1,mm.length);
}
var dd = day;
if (mm=="1"){mm="JAN";}
if (mm=="2"){mm="FEB";}
if (mm=="3"){mm="MAR";}
if (mm=="4"){mm="APR";}
if (mm=="5"){mm="MAY";}
if (mm=="6"){mm="JUN";}
if (mm=="7"){mm="JUL";}
if (mm=="8"){mm="AUG";}
if (mm=="9"){mm="SEP";}
if (mm=="10"){mm="OCT";}
if (mm=="11"){mm="NOV";}
if (mm=="12"){mm="DEC";}
var expdate_string=mm+" "+dd+","+year+" "+hour+":"+minute+":"+second;
try
{
var mii = Date.parse(expdate_string);
datTmp = new Date(mii);
}
catch(x)
{alert('日期格式不正确!');}
return datTmp;
}
/*
判断一个字符串是否为有效的日期并且格式是否正确 YYYY-MM-DD
参数 str:被检查的字串
返回:真或假
*/
function IsDate(str)
{
if (Trim(str)=="") return false;
try
{
var year = str.substring(0,4);
if (isNaN(parseInt(year,10)) || (parseInt(year,10)>3000 || parseInt(year,10)<1900) )
{
return false;
}
if (str.substring(4,5)!="-" || str.substring(7,8)!="-")
{
return false;
}
var MM = str.substring(5,7);
var DD = str.substring(8,10);
if (MM!="01" && MM!="02" && MM!="03" && MM!="04" && MM!="05" && MM!="06" && MM!="07" && MM!="08"&&MM!="09" && MM!="10"&&MM!="11" && MM!="12")
{
return false;
}
if (isNaN(parseInt(DD,10)))
{
return false;
}
var date = Date.parse(MM+'/'+DD+'/'+year);
if (isNaN(date))
{
return false;//date = Date.parse(str.replace(/-/g,"/"));
}
return true;
}
catch(x)
{
return false;
}
}
/*
检验正则表达式是否符合
*/
function IsValid(p, t, s) {
if (p.test(t.value))
return true;
if (s != null) {
t.focus();
alert(s);
}
return false;
}
/*
判断是否是正确的电子邮件地址
参数: CheckCtl :要检验的输入框 s:出错时需要警告的信息
true:是 false:否
*/
function IsEmail(CheckCtl, s) {
return IsValid(/^\s*\w+\@\w+(\.\w+)+\s*$/i, CheckCtl, s);
}
/*
判断是否是正确的电话号码
电话号码仅允许 数字, ( , ) , - 号
参数: CheckCtl :要检验的输入框 s:出错时需要警告的信息
true:是 false:否
*/
function IsPhoneNumber(CheckCtl,s)
{
try
{
var t = Trim(CheckCtl.value);
if (t==null || t=="" )
{
return false;
}
t = t.replace("-","");
t = t.replace("(","");
t = t.replace(")","");
if (t.indexOf(".")>=0)
{
CheckCtl.focus();
alert(s);
return false;
}
for(var i=0;i< t.length;i++)
{
var c = t.charAt(i);
if (isNaN(parseInt(c,10)))
{
CheckCtl.focus();
alert(s);
return false;
}
}
return true;
}
catch(x)
{
return false;
}
}
/*
判断是否是字母组合
参数: CheckCtl :要检验的输入框 s:出错时需要警告的信息
true:是 false:否
*/
function IsLetter(CheckCtl,s)
{
try
{
var t = Trim(CheckCtl.value);
if (t==null || t=="")
{
return false;
}
for(var i=0;i<t.length;i++)
{
var sss = t.charCodeAt(i);
if (! (sss>=65 && sss<=90 || sss>=97 && sss<=122) )
{
alert(s);
CheckCtl.focus();
return false;
}
}
return true;
}
catch(x)
{
return false;
}
}
/*
判断是否是数字编码组合
数字和数字编码的区别:
数字编码允许 000000010 ,不允许诸如: -1290092 ,23.,.3456等类型的值,而数字则认为是真
参数: CheckCtl :要检验的输入框 s:出错时需要警告的信息
true:是 false:否
*/
function IsCode(CheckCtl,s)
{
try
{
var t = Trim(CheckCtl.value);
if (t==null || t=="")
{
return false;
}
for(var i=0;i<t.length;i++)
{
var sss = t.charCodeAt(i);
if (! (sss>=48 && sss<=57 ) )
{
alert(s);
CheckCtl.focus();
return false;
}
}
return true;
}
catch(x)
{
return false;
}
}
/*
判断是否是正确的用户名
用户名只能由小写英文字母、阿拉伯数字和下划线组成
参数: CheckCtl :要检验的输入框
s:出错时需要警告的信息 s=null or s="" 时有默认的提示信息
true:是 false:否
*/
function IsUserName(CheckCtl,s)
{
try
{
var t = Trim(CheckCtl.value);
if (t==null || t=="")
{
return false;
}
if (s=="" || s==null){
s = "用户名只能由小写英文字母、阿拉伯数字和下划线组成!";
}
if (!IsValid(/[a-z]*|\d*|\_/,CheckCtl, s)){
return false;
}
return true;
}
catch(x)
{
return false;
}
}
/**********************************
*功能 校验文本框输入内容的非法字符
*入口参数 fld 要校验的输入框
* invlid 非法字符(串)
* msg 出错显示的信息
*返回 true 包含非法字符(串)
* false 不包含
**********************************/
function CheckInvalidString(fld, invalid, msg) {
if(fld.type == null || (fld.type != 'text' && fld.type != 'password'))
return false;
var src=fld.value;
if(src == null || src.length == 0 ||
invalid == null || invalid.length == 0 )
return false;
if(fld.value.indexOf(invalid) >= 0) {
alert(msg);
return true;
}
return false;
}
/**********************************
*功能 判断是否文件路径中文件是图像文件,路径可以是url或者file:\\
*入口参数 文件路径
*返回 true 是
* false 否
**********************************/
function IsImageFile(FilePath) {
var aryimg = new Array("ART","BMP","DJVU","EMF","GIF","ICN","ICO","IFF"
,"JPEG","JPG","KDC","LDF","LWF","MAG","PBM","PIC","PICT","PIX","PNG","PPM"
,"PSD","PSP","RAS","RS","SGI","TGA","TIFF","TTF","WMF","XBM","XPM");
var str=FilePath;
var i=str.lastIndexOf(".");
var str1=str.substring(i+1);
for(var k=0;k< aryimg.length;k++){
if(str1.toUpperCase()==aryimg[k])
{
return true;
}
}
return false;
}
</script>