我在这段代码中有这个正则表达式:
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个数字 但即使我输入一个包含数字的字符串,我仍然会收到错误信息!
答案 0 :(得分:1)
答案 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