通过HTML代码向网页中添加一个表单,要求在<script>和</script>之间添加JavaScript代码,其功能为验证表单中用户名信息是否包含数字、字母和下划线外的其他非法字符,如果含有非法字符,提示“登录名字中不能包含特殊字符”,重新将焦点聚焦在用户名文本框上。
时间: 2024-11-22 07:43:47 浏览: 15
一个即时表单验证的javascript代码
要在HTML中添加一个表单并利用JavaScript进行用户输入验证,你可以这样做:
```html
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>注册表单</title>
</head>
<body>
<form id="registerForm" onsubmit="return validateForm()">
<label for="username">用户名:</label>
<input type="text" id="username" name="username"><br>
<span id="error-message" style="color: red; display: none;">登录名字中不能包含特殊字符</span><br>
<input type="submit" value="提交">
</form>
<script>
function validateForm() {
var username = document.getElementById('username').value;
var regex = /^[a-zA-Z0-9_]+$/; // 正则表达式,匹配只包含字母、数字和下划线的字符串
if (!regex.test(username)) { // 如果不符合正则条件
document.getElementById('error-message').style.display = 'block'; // 显示错误消息
document.getElementById('username').focus(); // 将焦点转回用户名输入框
return false; // 阻止表单默认提交
} else {
document.getElementById('error-message').style.display = 'none'; // 隐藏错误消息
return true; // 表单可以正常提交
}
}
</script>
</body>
</html>
```
在这个例子中,当用户尝试提交表单时,`validateForm`函数会被调用。该函数获取用户名字段的值,然后检查它是否符合正则表达式。如果包含非法字符,会显示错误消息,并阻止表单提交;如果没有非法字符,表单即可正常提交。当有错误时,焦点会自动回到用户名输入框以便用户修改。
阅读全文