HTML控制文本框只能输入数字和小数点,并且只能保留小数点后两位 金额转换,阿拉伯数字的金额转换成 面试题

35 篇文章 0 订阅

1.给文本框添加一个οnkeyup='clearNoNum(this)'点击事件

2.建立clearNoNum方法

[javascript]  view plain  copy
  1. function clearNoNum(obj) {  
  2.     obj.value = obj.value.replace(/[^\d.]/g,""); //清除"数字"和"."以外的字符  
  3.         obj.value = obj.value.replace(/^\./g,""); //验证第一个字符是数字而不是.  
  4.      //   obj.value = obj.value.replace(/\.{2,}/g,"."); //只保留第一个. 清除多余的  别人是这么写的,我认为这句没用
  5. //,'o{2,}' 不能匹配 "Bob" 中的 'o',但能匹配 "foooood" 中的所有 o。
  6.      //   obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");  
  7. obj.value = obj.value.replace(".","$#$");//只替换第一个字符
  8. obj.value = obj.value.replace(/\./g,"");//替换所有.为空
  9.   obj.value = obj.value.replace("$#$","."); //恢复第一个点
  10. //如果replace(".","$#$")替换没有全局/g元字符,则只替换第一个相同字符
  11.         obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3'); //只能输入两个小数  
  12.     // 使用() 括号为捕获组,此时有三个,因此所匹配的值存放在$1 $2 $3
  13. }  


3将金额小写转换成大写

[javascript]  view plain  copy
  1. function onlyNumber1(input, n) {  
  2.     var ret = "";  
  3.     var number =input.value;  
  4.         if (number != ""&& number!=&&number!="0") {  
  5.                 var unit = "仟佰拾亿仟佰拾万仟佰拾元角分",  
  6.                 str = "";  
  7.                 number += "00";  
  8.                 var point = number.indexOf('.');  
  9.                 if (point >= 0) {  
  10.                     number = number.substring(0, point) + number.substr(point + 1, 2);  
  11.                 }  
  12.                 unit = unit.substr(unit.length - number.length);  
  13.                 for (var i = 0; i < number.length; i++) {  
  14.                     str += '零壹贰叁肆伍陆柒捌玖'.charAt(number.charAt(i)) + unit.charAt(i);  
  15.                 }  
  16.                 ret = str.replace(/零(仟|佰|拾|角)/g, "零").replace(/(零)+/g, "零").replace(/零(万|亿|元)/g, "$1").replace(/(亿)万|(拾)/g, "$1$2").replace(/^元零?|零分/g, "").replace(/元$/g, "元") + "整";  
  17.         }  
  18.     var a = document.getElementsByName("MoneyCapital")[0].id;  
  19.     document.getElementById(a).value=ret;     
  20.     }  


 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值