[英]How to use an input type=text field to accept only digits, minus sign and decimals and nothing more with Angular
[英]should not accept digits in text field
我正在使用一个不应接受数字的文本字段。 因此,我编写了一个名为validate()函数的脚本。 即使看起来可行,也非常糟糕。 用户可以看到输入的数据(即不想要的数字)。 我想在显示用户输入之前对其进行检查。 如果用户输入的数据不是数字,则仅应可见。 是否有类似javascript(或) 中C语言的getch()函数的功能,为我提供了解决方案?
这是我的代码:
<script>
function validate()
{
var s=t1.value;
var res="";
for(i=0;i<s.length;i++)
{
var ascii=s.charCodeAt(i);
if(ascii<48 || ascii>57)
res+=String.fromCharCode(ascii);
}
t1.value=res;
}
</script>
<input type="text" id="t1" onkeypress="val();">
从您的html元素上按下按键时调用此函数| 演示
数字将不被接受,并且在文本框中将不可见
<input type="text" onkeypress="return checks(this,event)" />
的JavaScript
function checks(dis,ev)
{
var e = ev || window.event;
var key = e.which||e.keyCode;
if(key>=48 && key<=57)
return false;
else
return true;
}
试试这个:
<script>
function validate(input){
return (event.keyCode < 48 || event.keyCode > 57);
}
</script>
<input type="text" id="t1" onkeydown="return validate(this);">
在这里运行: http : //jsfiddle.net/edgarinvillegas/XPvU2/1/
希望这可以帮助。 干杯
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.