输入:仅禁用字母

时间:2015-08-12 14:23:45

标签: javascript jquery

如何禁用输入中的字母,但仍允许用户输入 + ()等符号以及添加空格?< / p>

jsFiddle

$(".phone").on("keypress keyup blur",function (e) {    
    $(this).val($(this).val().replace(/^[a-zA-Z]+$/, ""));
        if ((e.which < 48 || e.which > 57)) {
            e.preventDefault();
    }
});

2 个答案:

答案 0 :(得分:2)

 $(".phone").on("keypress keyup blur",function (event) {
          switch (event.keyCode) {
            case 43:  // + character
            case 40: // the ( character
            case 41: // the ) character
            break;
            default:
            var regex = new RegExp("^[a-zA-Z0-9.,/ $@()]+$");
            var key = event.key;
            if (!regex.test(key)) {
                event.preventDefault();
                return false;
            }
            break;
        }
});

答案 1 :(得分:0)

我最终使用了jquery.alphanum插件,顺便说一句,它非常方便。

alphanum plugin

$('#phone').alphanum({
   allowLatin : false,
   allowOtherCharSets : false,
   allow : '+, (, )',    // Allow extra characters
});