我想知道如何验证仅允许数字的文本字段,然后使用javascript格式化值。
如何通过不允许粘贴,Ctrl,Shift,Backspace和Del以及不允许使用特殊字符和字母来验证输入文本,
{"name":"somename",
[{"id":123,"key1":"anydata"},
{"id":345,"key1":"x","key3":"yz"}]}
<input name="samount" type="text" id="samount" class="form-control"
@keyup=${this.formatCurrency}>
formatCurrency(e){
var myinput = e.target.value;
var val = myinput;
val = val.replace(/[^0-9]/g,'');
if(val != "") {
var valArr = val.split('.');
valArr[0] = (parseInt(valArr[0],10)).toLocaleString();
val = valArr.join('.');
}
e.target.value = val;
this.rateValue();
}
答案 0 :(得分:0)
Keyup事件包含键入的键,对其进行测试(如果是parseInt或点...)。
答案 1 :(得分:0)
*尝试更新您的正则表达式,并在if条件中使用match函数检查您的字段值是否与regrex匹配。 * 每个键都有单独的键码,您可以使用该键码进行验证,以提及此键在此文本字段上不起作用
答案 2 :(得分:0)
最简单的方法是在非数字时删除键盘上的输入值。
$("#myinput").keyup(function(e) {
if($(this).val().match(/^[0-9]+$/))
return;
else
$(this).val('');
});
或者检查e.keyCode
并在与范围48-57
和96-105
不匹配的情况下阻止输入(数字键盘具有单独的键码)