在实现文本框只能输入数字和小数点的基础上实现了价格样式(保留两位小数)

我在测试充值接口的时候,输入金额保留到小数点后三位的时候程序就报错,后来就想到充值金额最多只能保留到小数点后两位,下面就是我用JQuery实现的详细代码,仅供参考,大神勿喷

 1 $(function() {
 2     //阻止数字键以外的按键输入
 3     $("#zf_money").keydown(function(e) {
 4         digitInput($(this),e);
 5     });
 6     $("#zf_money").keyup(function() {
 7         if($(this).val()=="") {
 8             $("#zfz_money").text("0");
 9         } else {
10             $("#zfz_money").text($(this).val());
11         }
12
13     });
14
15     function prevent(e) {
16         e.preventDefault?e.preventDefault():e.returnValue=false;
17     };
18
19     function digitInput(el,e) {
20         var e=e||window.event; // FF、Chrome IE下获取事件对象
21         var c=e.charCode||e.keyCode; //FF、Chrome IE下获取键盘码
22         var val=el.val();
23         if(c==110||c==190) { // 110 (190) - 小(主)键盘上的点
24             (val.indexOf(".")>=0||!val.length)&&prevent(e); // 已有小数点或者文本框为空,不允许输入点
25
26         } else if((c!=8&&c!=46&& // 8 - Backspace, 46 - Delete
27             (c<37||c>40)&& // 37 (38) (39) (40) - Left (Up) (Right) (Down) Arrow
28             (c<48||c>57)&& // 48~57 - 主键盘上的0~9
29             (c<96||c>105)) // 96~105 - 小键盘的0~9
30             ||e.shiftKey) { // Shift键,对应的code为16
31             prevent(e); // 阻止事件传播到keypress
32         } else if(c!=8&&c!=46&&val.indexOf(".")>=0) {
33             (val.substring(val.indexOf(".")+1).length)>1&&prevent(e);
34         } else if(c!=8&&c!=46&&val.length>5) {
35             prevent(e);
36         }
37     };
38 });
时间: 2024-10-14 04:05:47

在实现文本框只能输入数字和小数点的基础上实现了价格样式(保留两位小数)的相关文章

jquery限制文本框只能输入数字、JQuery 限制文本框只能输入数字和小数点

/*JQuery 限制文本框只能输入数字及小数点 */ <script> $(function(){ /*JQuery 限制文本框只能输入数字*/ $("#id").keyup(function(){ $(this).val($(this).val().replace(/\D|^0/g,'')); }).bind("paste",function(){  //CTR+V事件处理 $(this).val($(this).val().replace(/\D|

JQuery限制文本框只能输入数字和小数点的方法

<input type="text" class="txt NumText"  Width="100px"  /> $(function(){ /*JQuery 限制文本框只能输入数字*/ $(".NumText").keyup(function(){ $(this).val($(this).val().replace(/D|^0/g,'')); }).bind("paste",function

js 验证文本框只能输入数字和小数点

第一步.添加js方法 function check(e) {     var re = /^\d+(?=\.{0,1}\d+$|$)/     if (e.value != "") {         if (!re.test(e.value)) {             alert("请输入正确的数字");             e.value = "";             e.focus();         }     } } 第

文本框 只能输入数字和小数点验证

function clearNoNum(obj) { //先把非数字的都替换掉,除了数字和. obj.value = obj.value.replace(/[^\d.]/g, ""); //必须保证第一个为数字而不是. obj.value = obj.value.replace(/^\./g, ""); //保证只有出现一个.而没有多个. obj.value = obj.value.replace(/\.{2,}/g, "."); //保证.只出

js文本框只能输入数字,

1,文本框只能输入数字代码(小数点也不能输入) 复制代码代码示例: <input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"> 2,只能输入数字,能输小数点. 复制代码代码示例: <input onkeyup="if(isNaN(value))execCommand('und

js设置文本框只能输入数字

JS判断只能是数字和小数点 1.文本框只能输入数字代码(小数点也不能输入) <input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"> 2.只能输入数字,能输小数点. <input onkeyup="if(isNaN(value))execCommand('undo')&qu

replace限制文本框只能输入数字,数字和字母等的正则表达式

1.文本框只能输入数字代码(小数点也不能输入) <input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"> 2.只能输入数字,能输小数点. <input onkeyup="if(isNaN(value))execCommand('undo')" onafterpas

文本框只能输入数字(兼容IE火狐)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Typ

silverlight 文本框只能输入数字

void mobile_KeyUp(object sender, KeyEventArgs e) { Regex rg = new Regex("^[0-9]{1,11}$"); Regex rg1 = new Regex("\b"); if (!rg.IsMatch(mobile.Text) && !rg1.IsMatch(e.Key.ToString())) { if (mobile.Text.Length > 0) { mobile.Te