救救孩子!!!JavaScript

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