2.开发一个HTML 文档,用于收集用户的以下信息:姓名(大于2个字符,少于20字符)、身份证号(格式:SSSFFFYYYYMMRRNNNC)以及体重(限制范围为40~150kg)。必须针对这些表单元素创建事件处理程序,来检查所收集的信息是否正确。当检测到错误时,使用alert 窗口来显示错误消息。 注:身份证号格式说明 SSSFFF:6位地址号(0-9) YYYYMMRR:8位生日(年
时间: 2024-02-22 18:58:17 浏览: 18
月日)NNN:3位顺序号(0-9或X)C:1位校验码(0-9或X)
以下是一个样例代码,可以实现收集用户信息并进行验证:
```html
<!DOCTYPE html>
<html>
<head>
<title>User Information Collection</title>
<meta charset="utf-8">
</head>
<body>
<form>
<label>Name:</label>
<input type="text" id="name">
<br><br>
<label>ID card number:</label>
<input type="text" id="idcard">
<br><br>
<label>Weight:</label>
<input type="number" id="weight">
<br><br>
<input type="button" value="Submit" onclick="validate()">
</form>
<script>
function validate() {
var name = document.getElementById("name").value;
var idcard = document.getElementById("idcard").value.toUpperCase();
var weight = document.getElementById("weight").value;
// validate name
if (name.length < 2 || name.length > 20) {
alert("Name must be between 2 and 20 characters.");
return;
}
// validate ID card number
var reg = /^[0-9]{6}[1-9][0-9]{3}(0[1-9]|1[0-2])(0[1-9]|[12][0-9]|3[01])[0-9]{3}[0-9X]$/;
if (!reg.test(idcard)) {
alert("Invalid ID card number.");
return;
}
// validate weight
if (weight < 40 || weight > 150) {
alert("Weight must be between 40 and 150 kg.");
return;
}
// submit form
alert("Form submitted successfully.");
document.forms[0].submit();
}
</script>
</body>
</html>
```
这个 HTML 文档中包含一个表单,包括三个输入框和一个提交按钮。用户输入自己的姓名、身份证号和体重后,点击提交按钮。当检测到错误时,将使用 alert 弹出窗口显示错误消息。如果所有信息都正确,则弹出窗口显示“Form submitted successfully.”。