javaScript通用数据类型校验函数
来源:asp之家 时间:2009-07-06 12:49:00
本文介绍了一些JavaScript常用到得表单验证函数,方便大家使用。
判断是否为整数,是则返回true,否则返回false
function f_check_integer(obj)
{
if (/^(\+|-)?\d+$/.test( obj.value ))
{
return true;
}
else
{
f_alert(obj,"请输入整数");
return false;
}
}
判断是否为实数,是则返回true,否则返回false
function f_check_float(obj)
{
if (/^(\+|-)?\d+($|\.\d+$)/.test( obj.value ))
{
return true;
}
else
{
f_alert(obj,"请输入实数");
return false;
}
}
校验数字的长度和精度
function f_check_double(obj){
var numReg;
var value = obj.value;
var strValueTemp, strInt, strDec;
var dtype = obj.eos_datatype;
var pos_dtype = dtype.substring(dtype.indexOf("(")+1,dtype.indexOf(")")).split(",");
var len = pos_dtype[0], prec = pos_dtype[1];
try
{
numReg =/[\-]/;
strValueTemp = value.replace(numReg, "");
numReg =/[\+]/;
strValueTemp = strValueTemp.replace(numReg, "");
//整数
if(prec==0){
numReg =/[\.]/;
if(numReg.test(value) == true){
f_alert(obj, "输入必须为整数类型");
return false;
}
}
if(strValueTemp.indexOf(".") < 0 ){
if(strValueTemp.length >( len - prec)){
f_alert(obj, "整数位不能超过"+ (len - prec) +"位");
return false;
}
}else{
strInt = strValueTemp.substr( 0, strValueTemp.indexOf(".") );
if(strInt.length >( len - prec)){
f_alert(obj, "整数位不能超过"+ (len - prec) +"位");
return false;
}
strDec = strValueTemp.substr( (strValueTemp.indexOf(".")+1), strValueTemp.length );
if(strDec.length > prec){
f_alert(obj, "小数位不能超过"+ prec +"位");
return false;
}
}
return true;
}catch(e){
alert("in f_check_double = " + e);
return false;
}
}
校验数字的最小最大值
返回bool
function f_check_interval(obj)
{
var value = parseFloat(obj.value);
var dtype = obj.eos_datatype;
var pos_dtype = dtype.substring(dtype.indexOf("(")+1,dtype.indexOf(")")).split(",");
var minLimit = pos_dtype[0];
var maxLimit = pos_dtype[1];
var minVal = parseFloat(pos_dtype[0]);
var maxVal = parseFloat(pos_dtype[1]);
if(isNaN(value))
{
f_alert(obj, "值必须为数字");
return false;
}
if((isNaN(minVal) && (minLimit != "-")) || (isNaN(maxVal) && (maxLimit != "+")))
{
f_alert(obj, "边界值必须为数字或-、+");
return false;
}
if(minLimit == "-" && !isNaN(maxVal))
{
if(value > maxVal)
{
f_alert(obj, "值不能超过" + maxVal);
return false;
}
}
if(!isNaN(minVal) && maxLimit == "+")
{
if(value < minVal)
{
f_alert(obj, "值不能小于" + minVal);
return false;
}
}
if(!isNaN(minVal) && !isNaN(maxVal))
{
if(minVal > maxVal)
{
f_alert(obj, "起始值" + minVal + "不能大于终止值" + maxVal);
}else
{
if(!(value <= maxVal && value >= minVal))
{
f_alert(obj, "值应该在" + minVal + "和" + maxVal + "之间");
return false;
}
}
}
return true;
}