验证输入的正确性

博客包含两个函数,一是验证输入数据准确性的函数 ValidateDataType,可按不同数据类型(如 money、datetime 等)的预定格式验证输入;二是将浮点数格式化成保留两位小数并四舍五入的函数 roundFun,能处理不同情况的浮点数。
None.gif/*
None.gifDate    : 2003-12-10
None.gifHistory : Create
None.gifPurpose : 验证输入数据的准确性,是否按照预定格式
None.gif
*/
None.gif
function ValidateDataType( strDataType ) 
None.gif{
None.gif    
var Reg ;
None.gif    
var sExample
None.gif    
if ( strDataType.match( "money") )
None.gif    {
None.gif        Reg 
= /^\d+(,\d\d\d)*(\.\d*)?$/g ;//Deal as double
None.gif
        sExample = "\n123  \n23456.78  \n23,456.78  \n0.12  \n.12  \n";
None.gif    }
None.gif    
else if ( strDataType.match( "datetime") )
None.gif    {
None.gif        Reg 
= /^([1-2]\d{3})(-|\.)(0?[1-9]|10|11|12)(-|\.)(([0-2]?[1-9])|10|20|30|31)$/g ;
None.gif        sExample 
= "\n2003-08-24  2003.08.24\n1998-12-1  1998.12.1";
None.gif    }    
None.gif    
else if ( strDataType.match( "numeric") )
None.gif    {
None.gif        Reg 
= /^\d+(,\d\d\d)*(\.\d*)?$/g ;
None.gif        sExample 
= "\n123  \n23456.78  \n23,456.78  \n0.12 \n";
None.gif    }
None.gif    
else if ( strDataType.match( "wint") )
None.gif    {
None.gif        Reg 
= /^\-*\d+(,\d\d\d)*$/g ;
None.gif        sExample 
= "\n20  \n-1  \n";
None.gif    }        
None.gif    
else if ( strDataType.match( "listint") )
None.gif    {
None.gif        Reg 
= /^\d+((,\d+)|(\-|\-\d+(,\d+)*))*$/g ;
None.gif        sExample 
= "\n8 \n1,2,4 \n1,2,6-8,12- \n";
None.gif    }
None.gif    
else if ( strDataType.match( "int") )
None.gif    {
None.gif        Reg 
= /^\d+(,\d\d\d)*$/g ;
None.gif        sExample 
= "\n23456  \n23,456  \n";
None.gif    }    
None.gif    
else if ( strDataType.match( "tinyint") )
None.gif    {
None.gif        
//Reg = /^\d+(,\d\d\d)*$/g ;
None.gif
        Reg = /^[0-2]+\d*$/g ;
None.gif        sExample 
= "\n255  \n255  \n";
None.gif    }
None.gif    
else 
None.gif    {
None.gif        Reg 
= /^.*$/g ;
None.gif        sExample 
= "a2~!@#$%^&*()_+,./;':";
None.gif    }
None.gif    
None.gif    
var e = window.event.srcElement;
None.gif    
var str = e.value;
None.gif    
if ( str == "" ) return;
None.gif    
if ( Reg.exec( str )) return;
None.gif    alert(
" 错误 : 值 [ " + str + " ] 非法," + " \n\n正确的格式如下所示 : " + sExample    ); 
None.gif    e.focus();
None.gif}
None.gif
None.gif
/*
None.gifDate    : 2003-12-10
None.gifHistory : Create
None.gifPurpose : 将浮点数格式化成只流小数两位,按照四舍五入方式
None.gif
*/
None.gif
function roundFun(numberRound,roundDigit)
None.gif{
None.gif    
var digit   = Math.pow(10,roundDigit);
None.gif    
var numV    = Math.round(numberRound*digit)/digit;
None.gif    
var strV    = numV.toString();
None.gif    
var strZero = "";
None.gif   
None.gif    
if(strV.indexOf("."> -1)
None.gif    {
None.gif        
for(var j=0; j<roundDigit-strV.split(".")[1].length; j++)
None.gif        {
None.gif            strZero 
+= "0";
None.gif        }
None.gif    }
None.gif    
else
None.gif    {
None.gif        
//得到小数点后的字符串
None.gif
        strZero = ".";
None.gif        
for(var j=0; j<roundDigit; j++)
None.gif        {
None.gif            strZero 
+= "0";
None.gif        }
None.gif    }
None.gif    
return strV+strZero;
None.gif}
None.gif
None.gif

转载于:https://www.cnblogs.com/applegreen/archive/2005/04/28/146799.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值