javascript - 使用 jquery 在文本框中仅输入数字和 "-"

标签 javascript jquery html css

我有一个 JQuery 语法,允许用户在文本字段中只输入数字。 Live code

然后我需要写一个额外的代码来让用户可以在文本框中输入“-”(连字符),但它不起作用。 Live code

请帮忙。

HTML

Number : <input type="text" name="quantity" id="quantity" />&nbsp;<span id="errmsg"></span>

CSS

#errmsg{color: red;}

JS

$(document).ready(function () {
  //called when key is pressed in textbox
  $("#quantity").keypress(function (e) {
     //if the letter is not digit then display error and don't type anything
     if (e.which != 8 && e.which != 0 && e.which !=='-' && (e.which < 48 || e.which > 57)) {
        //display error message
        $("#errmsg").html("Digits Only").show().fadeOut("slow");
               return false;
    }
   });
});

最佳答案

您可以通过在您的条件中添加 String.fromCharCode(e.which) != '-'(- 的字符代码)来允许连字符:

if (e.which != 8 && e.which != 0 && String.fromCharCode(e.which) != '-' && (e.which < 48 || e.which > 57)) {
    ...
}

演示(更新):http://jsfiddle.net/HkEuf/2669/

关于javascript - 使用 jquery 在文本框中仅输入数字和 "-",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25049958/

相关文章:

Javascript 如果没有请点击此 JS,否则点击此

javascript - Ajax 填充的选择元素在返回 json 的 ajax 数据库插入调用上相互冲突

html - 我想在屏幕中央对齐一个 Logo 并在图像之后显示几行。但是文本与图像重合

javascript - jasmine-fixtures - 从未见过的 DOM 变化

javascript - jQuery Ajax 用图片加载HTML 内容,如何检查是否所有图片都加载了?

javascript - 动态附加后按钮无法正确显示

javascript - 如何设置文本区域中文本的格式或样式?

javascript - 使用来自多个输入的数据更改段落文本

javascript - 使用 jquery 获取 div 中的下一个元素

javascript - Bxslider 如何将 slider 移动到特定图像(项目)