使用 JQUERY 在文本框中仅允许字母数字

Nai*_*lia 5 validation jquery

我在这里找到了以下代码:

如何验证html文本框不允许特殊字符和空格?

所以我写了这段代码进行验证,但它不起作用。

<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery.validate.min.js"></script>

<input type="text" name="txtUsername" id="txtUsername" data-validation="alphanumeric" data-validation-allowing="_" value="">
Run Code Online (Sandbox Code Playgroud)

我应该编写任何脚本来不允许文本框中出现特殊字符吗?

szm*_*gma 6

感谢@Steaton,但仍然允许使用 1 个特殊字符:\xe2\x82\xac \n我解决了这个问题。

\n\n

\r\n
\r\n
\t$("#username").keydown(function (e){\r\n\t\tvar k = e.keyCode || e.which;\r\n\t\tvar ok = k >= 65 && k <= 90 || // A-Z\r\n\t\t\tk >= 96 && k <= 105 || // a-z\r\n\t\t\tk >= 35 && k <= 40 || // arrows\r\n\t\t\tk == 9 || //tab\r\n\t\t\tk == 46 || //del\r\n\t\t\tk == 8 || // backspaces\r\n\t\t\t(!e.shiftKey && k >= 48 && k <= 57); // only 0-9 (ignore SHIFT options)\r\n\r\n\t\tif(!ok || (e.ctrlKey && e.altKey)){\r\n\t\t\te.preventDefault();\r\n\t\t}\r\n\t});
Run Code Online (Sandbox Code Playgroud)\r\n
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>\r\n<input id="username" type="text" class="validate" name="username">
Run Code Online (Sandbox Code Playgroud)\r\n
\r\n
\r\n

\n


Rus*_*707 -1

$(function () {
   $('#txtNumeric').keydown(function (e) {
        if (e.shiftKey || e.ctrlKey || e.altKey) {
           e.preventDefault();
        } 
        else {
            var key = e.keyCode;
            if (!((key == 8) || (key == 46) || (key >= 35 && key <= 40) || (key >= 65 && key <= 90) || (key >= 48 && key <= 57) || (key >= 96 && key <= 105))) {
               e.preventDefault();
            }
        }
    });
});


<input id="txtNumeric" type="text" />
Run Code Online (Sandbox Code Playgroud)