Javascript 如何仅允许文本框中包含数字和以下百分比符号?

Javascript 如何仅允许文本框中包含数字和以下百分比符号?,javascript,jquery,Javascript,Jquery,我目前正在构建一个应用程序,我想要一个javascript或jquery条件,该条件只允许在文本框中输入数字和/或以下百分比,但我不确定如何获得该值。。。我发现,但如何允许以下百分比试试这个。在这里,您可以添加您想要允许或限制的其他内容 $("textboxSelector").keypress(function(e) { var key = e.which; if ((key < 48 || key > 57) && !(key == 8 || key ==

我目前正在构建一个应用程序,我想要一个javascript或jquery条件,该条件只允许在文本框中输入数字和/或以下百分比,但我不确定如何获得该值。。。我发现,但如何允许以下百分比

试试这个。在这里,您可以添加您想要允许或限制的其他内容

$("textboxSelector").keypress(function(e) {
  var key = e.which;
  if ((key < 48 || key > 57) && !(key == 8 || key == 9 || key == 13 || key == 37 || key == 39 || key == 46) ){
    return false;
  }
});
$(“textboxSelector”)。按键(功能(e){
var-key=e.which;
如果((键<48 | |键>57)和&!(键==8 | |键==9 | |键==13 | |键==37 | |键==39 | |键==46)){
返回false;
}
});
$(文档).ready(函数(){
$(“#我的输入”)。按键(功能(事件){
//仅允许退格、删除和百分号
if(event.keyCode==46 | | event.keyCode==8 | | event.keyCode==37){
//让它发生吧,什么都不要做
}
否则{
//确保它是一个数字并停止按键
如果(event.keyCode<48 | | event.keyCode>57){
event.preventDefault();
}   
}
});
});
演示:

试试这个

    $(".common").submit(function(){
    var inputVal = $('#input').val();
    var characterReg = /^[0-9]+%?$/;
    if (!characterReg.test(inputVal)) {
        alert('in-correct');
    }
    else
    {
        alert('correct');
    }
        return false;
    });

呵呵,这就是我想到的

    if(!parseInt(String.fromCharCode(event.keyCode)))
       event.preventDefault();

这应该在
kepress
jquery事件中使用

您希望使用该链接中的哪些建议?对于大多数情况,它只是指定一个包含数字的正则表达式,我假设%总是在末尾出现?在触发
keyup
事件时,字符将已经显示出来。我想他是想用
keypress
@AlienWebguy-编辑我的答案,用keypup替换为keypdown,现在可以了。谢谢你,删除了我的否决票。不过我认为马特关于按键的看法是对的。这和换档键有关。是的,兄弟,这仍然不起作用。我可以添加
@#$^&*()
这是每个OP的请求所不允许的。@AlienWebguy-这是由于keydown事件,将其更改为keypress。现在它可以正常工作了,非常感谢:)这将只允许在文本字段上复制粘贴结尾字符处的数字和/或%,!!您能更新答案吗…??@Aju在这一点上,将由您决定如何处理-您会拒绝整个粘贴内容还是过滤掉无效字符?我不会说你的评论有“正确”的答案。肯定有多种方法可以奏效。
    if(!parseInt(String.fromCharCode(event.keyCode)))
       event.preventDefault();