实现以下功能:
- 检测账号是否以admin@开头且长度满足要求;
- 检测密码长度是否满足
- 检测备注中是否有“屏蔽词”
//检测账号是否合法的函数
function checkAccount() {
var account = document.getElementById("account").value.trim();
//$("#account").val();
if (account == '') {
document.getElementById("account1").innerHTML = '请输入账号,内容不允许位空';
return false;
//admin@
} else if (account.length <= 6) {
document.getElementById("account1").innerHTML = '账号长度不满足';
return false;
} else {
if (account.substr(0, 6) != 'admin@') {
document.getElementById("account1").innerHTML = '请输入账号,必须是以admin@开头';
return false;
} else {
document.getElementById("account1").innerHTML = '账号OK';
return true;
}
}
}
//检测密码
function checkPassword() {
var password = document.getElementById("password").value.trim();//$("#account").val();
if (password.length != 6) {
document.getElementById("password1").innerHTML = '密码只能为6位';
return false;
} else {
document.getElementById("password1").innerHTML = '密码OK';
return true;
}
}
function checkInfo() {
var info = document.getElementById("info").value.trim();//$("#account").val();
info = info.replace("星星", "**");
console.log(info);
var words = ['星星', '太阳花'];//类似于屏蔽词库
for (var i = 0; i < words.length; i++) {
if (info.indexOf(words[i]) == -1) {
//你说的这句话是正常的,没有说屏蔽词
} else {
//你说的话中含有屏蔽词
var str = "";//组装*的个数的
for (var j = 0; j < words[i].length; j++) {
str += "*";
}
info = info.replace(words[i], str);
}
}
if (info == '') {
document.getElementById("info1").innerHTML = '备注不能为空';
return false;
} else {
document.getElementById("info1").innerHTML = '备注OK';
return true;
}
}
function check() {
if (checkAccount() & checkPassword() & checkInfo()) {
return true;
} else {
return false;
}
}
<form action="..." method="get" onsubmit="return check();">
<p>账号:<input type="text" id="account" onkeyup="checkAccount();"><span id="account1">请输入以admin@开头的账号</span></p>
<p>密码:<input type="password" id="password" onkeyup="checkPassword();"><span id="password1">密码必须为6位</span></p>
<p>备注:<textarea id="info" onblur="checkInfo();"></textarea><span id="info1">请输入备注</span></p>
<p><input type="submit"></p>
</form>
虽然备注显示OK,但是每次提交,反馈的都不是原来的屏蔽词,而是替换的“**”