javascript正则表达式测试字母和数字existens

时间:2017-03-24 23:40:50

标签: javascript html regex

我在这段代码中有这个正则表达式:



function validateUser() {
   var e = /^[a-zA-Z](?=.*[0-9]).*$/;
    else(e.test(document.getElementById("username")) == false){
        document.getElementById("s").innerHTML=("error");   
    }
    else{
        document.getElementById("s").innerHTML=("ok");
    }




我希望它测试字符串是否以字母开头且至少包含1个数字 但即使我输入一个包含数字的字符串,我仍然会收到错误信息!

4 个答案:

答案 0 :(得分:1)

/^[a-zA-Z].*\d.*$/

允许任何以字母开头且至少包含1位数的字符串。

regex101

上查看

答案 1 :(得分:0)

以下内容将根据您所述的标准测试完整字符串:

matrix([[43, 23,  2, 90],
       [12,  0, 98,  2],
       [43,  8, 55, 34]])

<强>解释

Users.findOne({ 'username': username, 'tasks.id':taskId }, {'tasks.$':1}) .populate('candyTypes') .exec(function (err, data) { console.log(data); }); 匹配字符串的开头

/^[a-zA-Z]+[0-9]+/ 匹配任何一个或多个字母

^ 匹配任何数字

中的一个或多个

答案 2 :(得分:0)

尝试以下方法:

function validateUser(thatObj) {
 var patt = /^[a-zA-Z](?=.*[0-9]).*$/;
   if(patt.test(thatObj.value) == false){
        document.getElementById("s").innerHTML=("error");   
   }
   else{
        document.getElementById("s").innerHTML=("ok");
   }
 }
User Name: <input type="text" id="username" oninput="validateUser(this)"/><br>
Status: <span id="s"></span>

答案 3 :(得分:0)

您缺少范围闭包语法,并且条件已损坏 Telltale缺失闭包是在第20行上生成错误

应该是

function validateUser() {  // <- Begin function block
   var e = /^[a-zA-Z](?=.*[0-9]).*$/;
    // else <- if what ? 
    if(e.test(document.getElementById("username")) == false){
        document.getElementById("s").innerHTML=("error");   
    }
    else{
        document.getElementById("s").innerHTML=("ok");
    }
} // <- function block closure