js编写函数,验证用户名是否符合要求,长度要求是6-20位内,只能包含字母、数字、下划线,且不能数字开头,如果长度不符合要求,提示"用户名的长度只能在6---20之间";如果以数字开头,提示"用户名不能用数字开头"; 如果包含包含字母、数字、下划线以外的,提示"用户名只能包含字母、数字、下划线"; 如果符合要求,提示"用户名正确"。(注意这里不要用多个renturn进行返回)
使用正则表达式就好了
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<title> 页面名称 </title>
</head>
<body>
<form method="post" action="xxxxx" id="test" onsubmit="return submitfun(this)">
用户名:<input type="text" name="username" id="username" value="" /><br />
<input type="submit" value="提交">
</form>
<script type="text/javascript">
function submitfun(form) {
var res = true;
var un = form.username.value;
if (un.length<6 || un.length>20) {
alert("用户名的长度只能在6---20之间");
res = false;
} else if (/^\d/.test(un)) {
alert("用户名不能用数字开头");
res = false;
} else if (/\W/.test(un)) {
alert("用户名只能包含字母、数字、下划线");
res = false;
} else {
alert("用户名正确");
}
return res;
}
</script>
</body>
</html>
上面的是带表单提交功能的。
如果只是测试函数可以用下面简化代码
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<title> 页面名称 </title>
</head>
<body>
用户名:<input type="text" name="username" id="username" value="" /><br />
<input type="button" onclick="submitfun(document.getElementById('username').value);" value="提交">
<script type="text/javascript">
function submitfun(un) {
if (un.length<6 || un.length>20) {
alert("用户名的长度只能在6---20之间");
} else if (/^\d/.test(un)) {
alert("用户名不能用数字开头");
} else if (/\W/.test(un)) {
alert("用户名只能包含字母、数字、下划线");
} else {
alert("用户名正确");
}
}
</script>
</body>
</html>
您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632