常用javascript数据验证
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") )
{
&n