【问题标题】:JavaScript/ Alphanumeric validation not workingJavaScript/字母数字验证不起作用
【发布时间】:2017-05-09 12:20:18
【问题描述】:

我从post 获得了这个用于字母数字验证的 reg ex 但它不适用于此功能(我有类似的电子邮件功能并且可以使用)

 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;
        }

    }

如果我写一些字符串/名称,我会收到两个警报。谁能告诉我这个函数有什么问题?

【问题讨论】:

  • 如果您只在字段中输入X 会发生什么?将其与您期望发生的情况进行比较,您可能会发现自己做错了什么。

标签: javascript validation


【解决方案1】:

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

 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>

Regex 检查大小写字母和数字,并检查长度。

【讨论】:

  • 如果我的名字是“Cäsar”而不是“Nero”会怎样;-)
  • @FrankWisniewski 这不是 OP 问题。如果您需要有关此主题的参考,请访问stackoverflow.com/questions/6381752/…
  • 我不需要此主题的参考资料。警报是插入一个 名称,长度在 3 到 15 个字符之间 ...
【解决方案2】:

你的代码适合我

 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');

【讨论】:

    猜你喜欢
    • 2017-07-12
    • 1970-01-01
    • 1970-01-01
    • 2014-03-13
    • 2016-10-07
    • 1970-01-01
    • 2015-12-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多