CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  JavaScript

请高手指点货币类型的验证

楼主lz485078(冷)2002-11-16 18:53:27 在 Web 开发 / JavaScript 提问

我需要验证货币类型:  
  希望能指点两种方式,  
  一、是用正则表达式  
  二、是用验证,但能对输入进行一定的修改或判断  
  请大家多指点!感谢! 问题点数:100、回复次数:8Top

1 楼lz485078(冷)回复于 2002-11-17 13:27:42 得分 0

难到没人能解决这样的问题?  
  又不是有多高难度?  
  CSDN上就没人会?  
  郁闷!!!Top

2 楼Lostinet(Hello)回复于 2002-11-17 13:44:24 得分 0

把你看过的货币写法全部帖上来撒..Top

3 楼lz485078(冷)回复于 2002-11-18 10:26:05 得分 0

既然无人解决   只好被迫结贴  
  超级郁闷Top

4 楼qiushuiwuhen(秋水无恨)回复于 2002-11-18 13:51:42 得分 0

你去控制面板-〉区域设置就知道有多少种货币写法了  
  单单就¥123,456,789.00做个正则,可能还不充分  
  <script>  
  function   check(val){  
  return   /^¥?\d{1,3}(,\d{3})*\.\d{2}$/.test(val)  
  }  
  alert(check("¥123.00"))  
  alert(check("12,345.00"))  
  alert(check("1234.00"))  
  </script>Top

5 楼Lostinet(Hello)回复于 2002-11-18 14:00:42 得分 0

那还不麻烦,除了数值还要包含币种。。。~~Top

6 楼lz485078(冷)回复于 2002-11-18 18:04:26 得分 0

晕   没那么麻烦  
  主要能验证   5.00   45.00   就可以!不需要那么复杂!  
  主要是货币中有个点   点后面是两位   主要我技术不好写不出来  
  我看   比时间验证似乎还容易  
  主要最好能纠正一般错误   不让用户输入非法符号就可以  
  我写的函数   字母和数字组合就认不出来了  
  最好是   函数验证!正则表达式没有也可Top

7 楼JK_10000(JK)回复于 2002-11-18 18:53:03 得分 80

 
  <input   type=text   onblur="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>Top

8 楼qiushuiwuhen(秋水无恨)回复于 2002-11-19 09:01:57 得分 20

<script>  
  function   check(val){  
  return   /^\d+\.\d{2}$/.test(val)  
  }  
  alert(check("5.00"))  
  alert(check("45.00"))  
  alert(check("a5.00"))  
  </script>  
  Top

相关问题

  • 类型转换,请指点
  • 类型转换,请指点,谢谢
  • 请问解决整数,货币,INT,DOUBLE,等类型的JavaScript验证--不是高手不要来--给分多多--请快帮忙
  • Currency(货币)类型字段??
  • 关于输入验证的问题!请高手指点。
  • 关于验证输入框的问题,请指点迷津。
  • 如何验证数字类型
  • Java中如何 验证数据类型
  • struts验证框架中ValidateWhen这个验证规则怎么用?哪位指点一下
  • 求助一个JAVA小程序的验证问题!请高手们指点!

关键词

  • 验证
  • 货币

得分解答快速导航

  • 帖主:lz485078
  • JK_10000
  • qiushuiwuhen

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo