How To Only Allow Alpha Numeric Chars With JavaScript

前端 未结 3 1385
花落未央
花落未央 2020-12-01 23:40

Been playing around with JavaScript, and what Im trying to do is only allow certain characters in the pass word field - a-z, A-Z and 0-9.

相关标签:
3条回答
  • 2020-12-02 00:22

    You need to make your condition test a regexp, not a string:

    if(!/^[a-zA-Z0-9]+$/.test(name)){ ...
    

    meaning:

    • ^ -- start of line
    • [a-zA-Z0-9]+ -- one or more characters/numbers
    • $ -- end of line

    or you could search for the inverse of that, which is "any non-accepted character":

    if(/[^a-zA-Z0-9]/.test(name)){
    
    0 讨论(0)
  • 2020-12-02 00:27
    if (name.match(/[\W_]/)) { //...
    

    Meaning if the "name" string has any character which is a non-alphanumeric or an underscore then execute the block. Note that we have to separately check for underscore (_) because the alphanumeric character class (\w) includes the underscore (so the negative class (\W) does not).

    0 讨论(0)
  • 2020-12-02 00:36

    The below solution will accept only the alpha numeric value and some special key like backspace, delete etc.

    If you want to add some other key then add to the array .

    If you want to add some special symbol add to the same array or create a new array and compare it on the function like ex: yourNewVariableName.indexOf(e.keyCode)

    var specialKeys = [8, 9, 46, 36, 35, 37, 39];
            function IsAlphaNumeric(e) {
                var keyCode = e.keyCode == 0 ? e.charCode : e.keyCode;
                var ret = ((keyCode >= 48 && keyCode <= 57) || (keyCode >= 65 && keyCode <= 90) || (keyCode >= 97 && keyCode <= 122) || (specialKeys.indexOf(e.keyCode) != -1 && e.charCode != e.keyCode));
                return ret;
            }
    Alphanumeric value:
    <input type="text" onkeypress="return IsAlphaNumeric(event);" ondrop="return false;" onpaste="return false;" />

    0 讨论(0)
提交回复
热议问题