javascript 209-01-14

本文介绍了两个使用JavaScript进行表单验证的示例。第一个示例验证用户名和密码,确保用户名包含字母、数字和下划线,且长度符合要求;密码长度至少为6个字符。第二个示例增加了对重复密码和出生日期的验证,包括检查两次输入的密码是否一致,以及出生年份和日期的有效性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#1
在这里插入图片描述

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title></title>
		<script>
			function checkForm() {
				if(checkUsername() && checkPassword()) {
					return true;
				}
				return false;
			}

			function checkUsername() {
				var username = document.forms[0].username.value;
				if(username.length == 0) {
					alert('请输入用户名');
					return false;
				}
				if(username.length < 3) {
					alert('用户名长度不能小于3位');
					return false;
				}
				for(i = 0; i < username.length; i++) {
					var n = username[i];
					if(!(n >= 0 && n <= 9 || n >= 'a' && n <= 'z' || n == '_')) {
						alert('会员名包含非法字符,只能包括 a-z、0-9和下划线');
						return false;
					}
				}
				return true;
			}

			function checkPassword() {
				var password = document.forms[0].password.value;
				if(password.length == 0) {
					alert('未输入密码\n请输入密码');
					return false;
				}
				if(password.length < 6) {
					alert('密码长度不能小于6位');
					return false;
				}

				return true;
			}
		</script>
	</head>

	<body>
		<form onsubmit="return checkForm()">
			<table>
				<tr>
					<td>会员名:</td>
					<td><input type="text" name="username" /> (可包含 a-z、0-9和下划线 ) </td>
				</tr>
				<tr>
					<td>密码:</td>
					<td><input type="password" name="password" /> (至少包含6个字符) </td>
				</tr>
				<tr>
					<td colspan="2" align="center">
						<input type="submit" value="登 录" />
						<input type="reset" value="重 填" />
					</td>
				</tr>
			</table>
		</form>
	</body>

</html>

#2
在这里插入图片描述

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title></title>
		<script>
			function checkForm() {
				if(checkUsername() && checkPassword() && checkbir()) {
					return true;
				}
				return false;
			}

			function checkUsername() {
				var username = document.forms[0].username.value;
				if(username.length == 0) {
					alert('请输入用户名');
					return false;
				}
				if(username.length < 3) {
					alert('用户名长度不能小于3位');
					return false;
				}
				for(i = 0; i < username.length; i++) {
					var n = username[i];
					if(!(n >= 0 && n <= 9 || n >= 'a' && n <= 'z' || n >= 'A' && n <= 'Z')) {
						alert('用户名含有非法字符');
						return false;
					}
				}
				return true;
			}

			function checkPassword() {
				var password = document.forms[0].password.value;
				var password1 = document.forms[0].password1.value;
				if(password.length == 0) {
					alert('请输入密码');
					return false;
				}
				if(password.length < 6) {
					alert('用户名长度不能小于6位');
					return false;
				}
				if(password1.length == 0) {
					alert('请输再次入密码');
					return false;
				}

				//为什么不能使用!=(不等于)
				if(!(password1.indexOf(password) == password1.lastIndexOf(password) && password1.indexOf(password) != -1 && password.length == password1.length)) {
					alert('再次输入的密码与密码不同');
					return false;
				}
				return true;
			}

			function checkbir() {
				var year = document.forms[0].year.value;
				var date = document.forms[0].date.value;
				var da = parseFloat(document.forms[0].date.value);
				if(!(year.length != 0 && date.length != 0)) {
					alert('请输入出生日期');
					return false;
				}
				if(year.indexOf('20') != 0) {
					alert('年份必须是20开头');
					return false;
				}
				if(year.length != 4) {
					alert('年份必须是4位');
					return false;
				}
				//为什么不能使用!=(不等于)
				if(!(da >= 1 && da <= 31)) {
					alert('日期必须在1到31之间');
					return false;
				}
				return true;
			}
		</script>
	</head>

	<body>
		<form onsubmit="return checkForm()">
			<table>
				<tr>
					<td>登录名:</td>
					<td><input type="text" name="username" /> </td>
				</tr>
				<tr>
					<td>密码:</td>
					<td><input type="password" name="password" />(至少包含6个字符) </td>
				</tr>

				<tr>
					<td>再次输入密码:</td>
					<td><input type="password" name="password1" /></td>
				</tr>
				<tr>
					<td>出生日期:</td>
					<td><input type="text" name="year" size="6" placeholder="yyyy" /><select>
							<option value="1">(选择月份)</option>
							<option value="1">1</option>
						</select><input type="text" name="date" size="4" placeholder="dd" /></td>
				</tr>
				<tr>
					<td><input type="reset" value="重填" /> </td>
					<td><input type="submit" value="同意以下服务条款,提交注册信息" /> </td>
				</tr>
			</table>
		</form>
	</body>

</html>
{ "code": 1, "msg": "success", "data": { "total": 10, "rows": [ { "id": 13, "name": "江苏花果山", "room": "水帘洞", "beginDate": "2024-08-08", "endDate": "2050-08-08", "masterId": 47, "subject": 1, "createTime": "2024-08-23T09:50:31", "updateTime": "2024-08-25T19:53:34", "masterName": "高圆圆6", "status": "在读中" }, { "id": 12, "name": "JavaEE就业422", "room": "214", "beginDate": "2024-08-21", "endDate": "2025-01-10", "masterId": 47, "subject": 1, "createTime": "2024-08-21T15:07:20", "updateTime": "2024-08-21T15:07:20", "masterName": "高圆圆6", "status": "已结课" }, { "id": 11, "name": "JavaEE就业169期", "room": "213", "beginDate": "2024-08-01", "endDate": "2025-01-10", "masterId": 27, "subject": 1, "createTime": "2024-08-20T09:51:45", "updateTime": "2024-08-20T09:52:23", "masterName": "李俊", "status": "已结课" }, { "id": 9, "name": "JavaEE就业168期", "room": "215", "beginDate": "2024-08-20", "endDate": "2025-01-01", "masterId": 47, "subject": 1, "createTime": "2024-08-17T22:54:09", "updateTime": "2024-08-19T14:36:28", "masterName": "高圆圆6", "status": "已结课" }, { "id": 8, "name": "JavaEE就业167期", "room": "325", "beginDate": "2023-11-20", "endDate": "2024-05-10", "masterId": 36, "subject": 1, "createTime": "2023-11-15T11:35:46", "updateTime": "2023-12-13T14:31:24", "masterName": null, "status": "已结课" }, { "id": 7, "name": "大数据就业58期", "room": "209", "beginDate": "2023-08-01", "endDate": "2024-02-15", "masterId": 7, "subject": 3, "createTime": "2023-06-01T17:51:21", "updateTime": "2023-06-01T17:51:21", "masterName": "柴进", "status": "已结课" }, { "id": 6, "name": "JavaEE就业166期", "room": "105", "beginDate": "2023-07-20", "endDate": "2024-02-20", "masterId": 20, "subject": 1, "createTime": "2023-06-01T17:46:10", "updateTime": "2023-06-01T17:46:10", "masterName": "阮小二", "status": "已结课" }, { "id": 5, "name": "JavaEE就业165期", "room": "108", "beginDate": "2023-06-15", "endDate": "2023-12-25", "masterId": 6, "subject": 1, "createTime": "2023-06-01T17:45:40", "updateTime": "2023-06-01T17:45:40", "masterName": "扈三娘", "status": "已结课" }, { "id": 4, "name": "前端就业90期", "room": "210", "beginDate": "2023-07-10", "endDate": "2024-01-20", "masterId": 3, "subject": 2, "createTime": "2023-06-01T17:45:12", "updateTime": "2023-06-01T17:45:12", "masterName": "卢俊义", "status": "已结课" }, { "id": 1, "name": "JavaEE就业163期", "room": "212", "beginDate": "2023-04-30", "endDate": "2023-06-29", "masterId": 10, "subject": 1, "createTime": "2023-06-01T17:08:23", "updateTime": "2023-06-01T17:39:58", "masterName": "林冲", "status": "已结课" } ] } } // 获取班级列表 const fetchClazzList = async () => { loading.value = true try { const res = await queryPageApi(queryParams) console.log(res) if (res.data.code !== 1) { ElMessage.error('接口返回异常') tableData.value = [] total.value = 0 return } tableData.value = res.data.data.rows total.value = res.data.data.total } finally { loading.value = false } } 这是我后端返回的数据,前端显示接口返回异常
最新发布
07-21
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值