仅允许使用Javascript在文本框中使用数值
我想只允许在文本中输入数字值,如果用户输入字母字符,它应该警告用户。 对优化和简短的javascript代码有什么建议吗仅允许使用Javascript在文本框中使用数值,javascript,Javascript,我想只允许在文本中输入数字值,如果用户输入字母字符,它应该警告用户。 对优化和简短的javascript代码有什么建议吗 function isNumber(n) { return !isNaN(parseFloat(n)) && isFinite(n); } 从使用以下代码 function numericFilter(txb) { txb.value = txb.value.replace(/[^\0-9]/ig, ""); } 在钥匙打开时叫它进来 <i
function isNumber(n) {
return !isNaN(parseFloat(n)) && isFinite(n);
}
从使用以下代码
function numericFilter(txb) {
txb.value = txb.value.replace(/[^\0-9]/ig, "");
}
在钥匙打开时叫它进来
<input type="text" onKeyUp="numericFilter(this);" />
或
此代码使用
事件
对象的.keyCode
属性检查输入到给定字段中的字符。如果按下的键是数字,则不执行任何操作;否则,如果是字母,则提醒“错误”。如果两者都不是,则返回false
HTML:
JS:
(功能(a){
a、 onkeypress=功能(e){
如果(e.keyCode>=49&&e.keyCode=97&&e.keyCode,这里有一个解决方案,阻止所有非数字输入进入文本字段
html
<input type="text" id="numbersOnly" />
var input = document.getElementById('numbersOnly');
input.onkeydown = function(e) {
var k = e.which;
/* numeric inputs can come from the keypad or the numeric row at the top */
if ( (k < 48 || k > 57) && (k < 96 || k > 105)) {
e.preventDefault();
return false;
}
};
javascript
<input type="text" id="numbersOnly" />
var input = document.getElementById('numbersOnly');
input.onkeydown = function(e) {
var k = e.which;
/* numeric inputs can come from the keypad or the numeric row at the top */
if ( (k < 48 || k > 57) && (k < 96 || k > 105)) {
e.preventDefault();
return false;
}
};
var input=document.getElementById('numbersOnly');
input.onkeydown=功能(e){
var k=e,其中;
/*数字输入可以来自键盘或顶部的数字行*/
如果((k<48|k>57)和(k<96|k>105)){
e、 预防默认值();
返回false;
}
};
请注意,还应允许使用“系统”键
$(element).keydown(function (e) {
var code = (e.keyCode ? e.keyCode : e.which), value;
if (isSysKey(code) || code === 8 || code === 46) {
return true;
}
if (e.shiftKey || e.altKey || e.ctrlKey) {
return ;
}
if (code >= 48 && code <= 57) {
return true;
}
if (code >= 96 && code <= 105) {
return true;
}
return false;
});
function isSysKey(code) {
if (code === 40 || code === 38 ||
code === 13 || code === 39 || code === 27 ||
code === 35 ||
code === 36 || code === 37 || code === 38 ||
code === 16 || code === 17 || code === 18 ||
code === 20 || code === 37 || code === 9 ||
(code >= 112 && code <= 123)) {
return true;
}
return false;
}
$(元素).keydown(函数(e){
var代码=(e.keyCode?e.keyCode:e.which),值;
if(isSysKey(代码)| code===8 | code==46){
返回true;
}
if(e.shiftKey | | e.altKey | | e.ctrlKey){
返回;
}
如果(code>=48&&code=96&&code=112&&code@Shane,您可以随时中断代码,任何用户都可以按住任何文本键,如(hhhhhhhh),您可以允许保留该值不变
为了安全起见,请使用以下方法:
$("#testInput").keypress(function(event){
而不是:
$("#testInput").keyup(function(event){
我希望这会对某些人有所帮助。//在文本框中只输入数值的解决方案
$('#num_of_emp').keyup(function () {
this.value = this.value.replace(/[^0-9.]/g,'');
});
对于输入框,例如:
仅用于文本框中数值的Javascript::
<input type="text" id="textBox" runat="server" class="form-control" onkeydown="return onlyNos(event)" tabindex="0" />
<!--Only Numeric value in Textbox Script -->
<script type="text/javascript">
function onlyNos(e, t) {
try {
if (window.event) {
var charCode = window.event.keyCode;
}
else if (e) {
var charCode = e.which;
}
else { return true; }
if (charCode > 31 && (charCode < 48 || charCode > 57)) {
return false;
}
return true;
}
catch (err) {
alert(err.Description);
}
}
</script>
<!--Only Numeric value in Textbox Script -->
函数onlyNos(e,t){
试一试{
if(window.event){
var charCode=window.event.keyCode;
}
若否(e){
var charCode=e.which;
}
else{return true;}
如果(字符码>31&(字符码<48 | |字符码>57)){
返回false;
}
返回true;
}
捕捉(错误){
警报(错误描述);
}
}
Posible replication of:出于对上帝的爱(以及专业情感网站)的可能复制,不要使用onkeyup
。请参阅。这里必须使用onkeyup
,因为它会在键入后替换当前文本。如果使用其他方法,如防止值onkeydown
需要手动处理删除和退格密钥,并与@AndyE保持一致。onkeyup
确实很糟糕,尤其是如果用户只是粘贴使用鼠标输入值click@AndyE的链接已失效,但他和Baby是对的。不要。使用。键控。那么为什么不将该问题标记为重复问题?这将减少退格,并删除您到底会做(或推荐)什么诸如此类的事情?即使列出0..9中的所有数字并对照它们进行检查也是一个更好的解决方案。没有人能够通过阅读这段代码来了解您在做什么。实际上,他只是想知道,如果他有一个数字,他说他想要“仅”字段中的数字字符,不仅仅是为了知道它们是否已键入;以及是否键入(字母)然后警告用户。我知道.keyCode
部分可能会让人发火,但我需要一种更快的方法来做到这一点。OP是否要求使用jquery解决方案?我是否使用了jquery?或者我自己制作了$函数?您好。虽然您的代码可能会解决问题,但请对代码的功能进行一些说明。具体来说,它的功能有哪些不同以前的答案是什么?
<input type="text" id="textBox" runat="server" class="form-control" onkeydown="return onlyNos(event)" tabindex="0" />
<!--Only Numeric value in Textbox Script -->
<script type="text/javascript">
function onlyNos(e, t) {
try {
if (window.event) {
var charCode = window.event.keyCode;
}
else if (e) {
var charCode = e.which;
}
else { return true; }
if (charCode > 31 && (charCode < 48 || charCode > 57)) {
return false;
}
return true;
}
catch (err) {
alert(err.Description);
}
}
</script>
<!--Only Numeric value in Textbox Script -->