JavaScript /字母数字验证无效

时间:2017-05-09 12:20:19

标签: javascript validation

我从这个post得到了这个用于字母数字验证的注册表 但它没有使用此功能(我有一个类似的电子邮件功能,它的工作原理)

 function checkName(field) {

        var x = document.getElementById(field).value;
        var y = /^[a-z0-9]+$/i;
        //var z = /^[0-9]*$/;

        if (x == "" || !x.match(y) ) {
            alert("Invalid character");

            if (x.length <= 2 || x.length >= 15) {
                alert("Insert a name between 3 and 15 characters");
            }

            return false;
        }

    }

如果我写了一些字符串/名字,我会得到两个警报。有人能告诉我这个功能有什么问题吗?

2 个答案:

答案 0 :(得分:2)

以下是字母数字验证的方法:

 function checkName(field)
 {
       var x = document.getElementById(field).value;
       if (x.length <= 2 || x.length >= 15)
       {
           alert("Insert a name between 3 and 15 characters");
           return false;
       }
        var y = /^[0-9a-zA-Z]+$/;
        if (x == "" || !x.match(y) )
        {
           alert("Invalid character");
           return false;
        }
        
        alert("ALL OK");
        return true;
 }
<input type="text" id="textName" />
<button onClick="checkName('textName');">Check</button>

正则表达式检查大写字母和小字母和数字,并检查长度。

答案 1 :(得分:1)

您的代码适合我

 function checkName(field) {
        console.log(field);
        var x = field;
        var y = /^[a-z0-9]+$/i;
        if (x == "" || !x.match(y) ) {
            console.log("Invalid character");
        }
        if (x.length <= 2 || x.length >= 15) {
            console.log("Insert a name between 3 and 15 characters");
        }
    }
//valid
checkName('testdskfjskdlf');
//invalid
checkName('slkjf*%');
//too long
checkName('jjjjjjjjjjjjjjjjjjjjjjjjjjj');