解决整数,货币,INT,DOUBLE,等类型的JavaScript验证

解决正整数,数字,各种类型的数字怎样验证,要求有提示信息!    
  <script>  
    //检查是否为任意数(实数)  
  function   isNumeric(strNumber)   {  
  var   newPar=/^(-|/+)?/d+(/./d+)?$/  
  return   newPar.test(strNumber);  
    }  
  //检查是否为正数  
  function   isUnsignedNumeric(strNumber)   {  
  var   newPar=/^/d+(/./d+)?$/  
  return   newPar.test(strNumber);  
    }  
  //检查是否为整数  
  function   isInteger(strInteger)   {  
  var   newPar=/^(-|/+)?/d+$/  
  return   newPar.test(strInteger);  
    }  
  //检查是否为正整数  
  function   isUnsignedInteger(strInteger)   {  
  var   newPar=/^/d+$/  
  return   newPar.test(strInteger);  
  }  
  </script>   

 

货币类型验证的方法,感觉不错

  <input   type=text   οnblur="checkMoneyInput(this);">  
   
  <script>  
  function   checkMoneyInput(obj,min,max) //作用是将输入变成Number(10,2)格式,默认范围是非负。  
  {  
  obj.value=obj.value.replace(/   /g,""); //去空格  
  if   (obj.value=="")   return   false;  
  if   (obj.value.substr(0,1)==".")   obj.value="0"+obj.value;  
  if   (obj.value.substr(0,2)=="-.")   obj.value=obj.value.replace("-.","-0.");  
  var   r,   re;  
  var   s   =   obj.value   ;  
  var   theMin=-0.0000001;  
  var   theMax=10000000000;  
  if   (min!=null)   theMin=min;  
  if   (max!=null)   theMax=max;  
  if   (s.length==0)   return   false;  
  re   =   /-{0,1}/d{1,10}/.{0,1}/d{0,2}/i;  
  r   =   s.match(re); //取数  
  if   (r==null)  
  {  
  obj.value="";  
  alert("!!!!请注意:/n您刚才输入的数值不正确,我们已进行了清除。");  
  obj.focus();  
  return   false;  
  }    
  if   ((r>=theMax)||(r<=theMin))    
  {  
  obj.value="";  
  alert("!!!!请注意:/n您刚才输入的数值超出允许范围,我们已进行了清除。");  
  obj.focus();  
  return   false;  
  }    
  if   (   r!=s)    
  {  
  obj.value=r;  
  alert("!!!!请注意:/n您刚才输入的数值不正确,我们已进行了修改。");  
  obj.select();  
  obj.focus();  
  return   false;  
  }  
  if((//./i).test(r))   r=r+"0000";  
  else   r=r+'.0000';  
  obj.value=r.match(re);  
  }  
   
  </script>   
  

<input   οnblur="checkIntInput(this)">  
  <input   οnblur="checkDecimalInput(this)">  
  </select>  
  <script>  
   
  function   checkDecimalInput(obj,min,max) //作用是将输入变成Number(10,6)格式,默认范围是非负。  
  {  
  obj.value=obj.value.replace(/   /g,""); //去空格  
  if   (obj.value=="")   return   false;  
  if   (obj.value.substr(0,1)==".")   obj.value="0"+obj.value;  
  if   (obj.value.substr(0,2)=="-.")   obj.value=obj.value.replace("-.","-0.");  
  var   r,   re;  
  var   s   =   obj.value   ;  
  var   theMin=-0.0000001;  
  var   theMax=10000000000;  
  if   (min!=null)   theMin=min;  
  if   (max!=null)   theMax=max;  
  if   (s.length==0)   return   false;  
  re   =   /-{0,1}/d{1,10}/.{0,1}/d{0,6}/i;  
  r   =   s.match(re); //取数  
  if   (r==null)  
  {  
  obj.value="";  
  alert("!!!!请注意:/n您刚才输入的数值不正确,我们已进行了清除。");  
  obj.focus();  
  return   false;  
  }    
  if   ((r>=theMax)||(r<=theMin))    
  {  
  obj.value="";  
  alert("!!!!请注意:/n您刚才输入的数值超出允许范围,我们已进行了清除。");  
  obj.focus();  
  return   false;  
  }    
  if   (   r!=s)    
  {  
  obj.value=r;  
  alert("!!!!请注意:/n您刚才输入的数值不正确,我们已进行了修改。");  
  obj.select();  
  obj.focus();  
  return   false;  
  }  
  obj.value=r;  
  }  
   
  function   checkIntInput(obj,min,max) //作用是将输入变成整数,默认范围是非负。onblur   event  
  {  
  obj.value=obj.value.replace(/   /g,""); //去空格  
  if(obj.value=="")   return   false;  
  var   r;  
  var   s   =   obj.value   ;  
  var   theMin=-1;  
  var   theMax=10000000000;  
  if   (min!=null)   theMin=min;  
  if   (max!=null)   theMax=max;  
  if   (s.length==0)   return   false;  
  r   =   parseInt(s);; //取数  
  if   (r==null||isNaN(r))  
  {  
  obj.value="";  
  alert("!!!!请注意:/n您刚才输入的整数不正确,我们已进行了清除。");  
  obj.focus();  
  return   false;  
  }    
  if   ((r>=theMax)||(r<=theMin))    
  {  
  obj.value="";  
  alert("!!!!请注意:/n您刚才输入的整数超出允许范围,我们已进行了清除。");  
  obj.focus();  
  return   false;  
  }    
  if   (   r!=s)    
  {  
  obj.value=r;  
  alert("!!!!请注意:/n您刚才输入的整数不正确,我们已进行了修改。");  
  obj.select();  
  obj.focus();  
  return   false;  
  }  
  obj.value=r;  
  }  
   
  </script>
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值