【发布时间】:2013-03-18 19:29:48
【问题描述】:
我有一项任务是防止在十进制数字后按下两位数字。 我的 jquery 文件是
$(function(){
$('#name').bind('paste', function(){
var self = this;
setTimeout(function() {
if(!/^[a-zA-Z]+$/.test($(self).val()))
$(self).val('');
}, 0);
});
$('#salary').bind('paste', function(){
var self = this;
setTimeout(function() {
if(!/^\d*(\.\d{1,2})+$/.test($(self).val()))
$(self).val('');
}, 0);
});
$('.decimal').keyup(function(){
var val = $(this).val();
if(isNaN(val)){
val = val.replace(/[^0-9]./g,'');
if(val.split('.').length>2)
val =val.replace(/\.+$/,"");
}
$(this).val(val);
});
});
我的html页面是
<b>Name</b>
<input type="text" id="name" /><br/>
<b>Salary</b>
<input type="text" id="salary" class="decimal" />
这里我只想写小数点后两位,我该怎么做? 你可以在http://jsfiddle.net/V6s4B/看到我的代码
【问题讨论】:
-
我会在该人完成输入数据时验证输入,而不是同时。这将使整个事情变得容易。 ...只是一个建议。
-
你能帮我做这件事吗?你可以在jsfiddle.net/V6s4B看到我的代码
-
我不是交互设计师,但作为用户,当我输入的所有内容立即更改为其他内容时,我不会太高兴。我建议要么告诉用户期望什么样的输入(之前和之后)。
-
我也有同样的问题...
-
@mrhobo-我只想要小数点后的两个数字。
标签: javascript html jquery textinput