jQuery只允许数字和句号

时间:2013-01-14 04:07:06

标签: jquery

 <script type="text/javascript">
         $(document).ready(function () {
             $(".qty").keydown(function (event) {
                 // Allow: backspace, delete, tab, escape, and enter
                 if (event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 27 || event.keyCode == 13 ||
                     // Allow: Ctrl+A
                     (event.keyCode == 65 && event.ctrlKey === true) ||
                     // Allow: home, end, left, right
                     (event.keyCode >= 35 && event.keyCode <= 39)) {
                     // let it happen, don't do anything
                     return;
                 }
                 else {
                     // Ensure that it is a number and stop the keypress
                     if (event.shiftKey || (event.keyCode < 48 || event.keyCode > 57) && (event.keyCode < 96 || event.keyCode > 105)) {
                         event.preventDefault();
                     }
                 }
             });
         });

</script>

上面的代码只接受数字,我想接受数字和fullstop(。)

不是键码。 46 ??

3 个答案:

答案 0 :(得分:4)

以下是使用正则表达式模糊的方法:

$('.qty').on('blur', function () {
    $(this).val(function (i, v) {
        return v.replace(/[^a-z.]/ig, '');
    });
});

这是小提琴:http://jsfiddle.net/mfrUx/


如果您可以放弃我必须使用jQuery 心态,请使用以下内容:

$('.qty').on('blur', function () {
    this.value = this.value.replace(/[^a-z.]/ig, '');
});

这是小提琴:http://jsfiddle.net/mfrUx/1/

答案 1 :(得分:0)

.的密码对我来说似乎是190。

答案 2 :(得分:0)

 if (event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 27 || event.keyCode == 13 || event.keyCode == 110