Разрешить все цифры и буквы, но только эти специальные символы (# '() + -?! / & * ») - PullRequest
0 голосов
/ 08 апреля 2019

Я хочу разрешить только цифры и буквы и эти специальные символы (# '() + -?! / & * ») В JavaScript.

На данный момент у меня есть только цифры и буквы, но я хочуособые символы(# '() + -?! / & * »)

    $("#test").keypress(function(e) {
        $("#error").remove();
        var k = e.keyCode,
        $return = ((k > 64 && k < 91) || (k > 96 && k < 123) || k == 8 || k == 32  || (k >= 49 && k <= 57));
          if(!$return) {
            $("<span/>",{
                "id" : "error",
                "html" : "No special caracters allow !"
            }).insertAfter($j(this));
            return false;
          }

    });

Заранее благодарим вас за быстрый ответ.

Ответы [ 3 ]

2 голосов
/ 08 апреля 2019

Вероятно, было бы проще использовать e.key вместо этого, что даст вам фактический символ, а не код символа, а затем вы можете сравнить символ с регулярным выражением, содержащим разрешенные символы:

const isOk = /[a-z0-9#‘)(+-?!\/&*»]/i.test(e.key);
if (!isOk) {
  // handle error
}
1 голос
/ 08 апреля 2019

Вы можете использовать регулярное выражение:

[a-zA-Z0-9\[#()+-?!&*‘»]*

вы можете проверить его на https://regex101.com/r/sxrFqq/2

0 голосов
/ 08 апреля 2019

Простое регулярное выражение:

/[a-z0-9\#\'\(\)\+\-\/\&\*\»]/gi
...