通过Ai帮我们写前端界面设计

现在我要写一个前端界面,from表单,让用户登录使用的,提交表单之前先分析用户名和密码是否填的完成,并且检查密码必须满足 包含大小写,数字,密码长度必须在8到20之间,不满足不可以提交。用户名必须是全部英文或数字组成,不可以是汉字,如果不满足,也不可以提交,并给出合理提示,提交时用户名对应的name是 name 密码对应的name是password

html 复制代码
你可以使用JavaScript来实现前端表单的验证逻辑。以下是一个示例代码,
用于检查用户名和密码是否符合要求,并阻止表单提交:


<form id="loginForm" onsubmit="return validateForm()">
  <label for="name">用户名:</label>
  <input type="text" id="name" name="name" required><br><br>
  
  <label for="password">密码:</label>
  <input type="password" id="password" name="password" required><br><br>
  
  <input type="submit" value="登录">
</form>

<script>
function validateForm() {
  var name = document.getElementById("name").value;
  var password = document.getElementById("password").value;
  
  // 验证用户名
  if (!/^[a-zA-Z0-9]+$/.test(name)) {
    alert("用户名必须由全部英文或数字组成");
    return false;
  }
  
  // 验证密码
  if (!/(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{8,20}/.test(password)) {
    alert("密码必须包含大小写字母和数字,且长度在8到20之间");
    return false;
  }
  
  // 表单验证通过,可以提交
  return true;
}
</script>

在上面的代码中,我们首先为表单添加了一个id属性,方便JavaScript中获取表单元素。然后,在表单的onsubmit事件中调用validateForm()函数进行验证。

在validateForm()函数中,我们首先获取用户名和密码的值。然后使用正则表达式对用户名和密码进行验证。如果不满足要求,就弹出一个提示框并返回false,阻止表单的提交。如果用户名和密码都符合要求,返回true,允许表单提交。

注意:这只是一个前端的简单验证逻辑,为了保证安全性,后端服务器也应该对用户名和密码进行验证。前端验证只是为了提升用户体验和减轻服务器压力。

java 复制代码
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%
    String name=request.getParameter("name");
    String password=request.getParameter("password");
    if(name==null||password==null){
    	
    }
    else{
    	out.println(name+"<br>");
    	out.println(password+"<br>");
    	return;
    }
    %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
 
<form id="loginForm" method="post" action="index.jsp" onsubmit="return validateForm()">
  <label for="name">用户名:</label>
  <input type="text" id="name" name="name" required><br><br>
  
  <label for="password">密码:</label>
  <input type="password" id="password" name="password" required><br><br>
  
  <input type="submit" value="登录">
</form>
 
<script>
function validateForm() {
  var name = document.getElementById("name").value;
  var password = document.getElementById("password").value;
  
  // 验证用户名
  if (!/^[a-zA-Z0-9]+$/.test(name)) {
    alert("用户名必须由全部英文或数字组成");
    return false;
  }
  
  // 验证密码
  if (!/(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{8,20}/.test(password)) {
    alert("密码必须包含大小写字母和数字,且长度在8到20之间");
    return false;
  }
  
  // 表单验证通过,可以提交
  return true;
}
</script>
 
 
</body>
</html>
相关推荐
koiy.cc35 分钟前
记录:echarts实现tooltip的某个数据常显和恢复
前端·echarts
一只专注api接口开发的技术猿1 小时前
企业级电商数据对接:1688 商品详情 API 接口开发与优化实践
大数据·前端·爬虫
GISer_Jing1 小时前
[前端高频]数组转树、数组扁平化、深拷贝、JSON.stringify&JSON.parse等手撕
前端·javascript·json
Yvonne爱编码1 小时前
CSS- 4.1 浮动(Float)
前端·css·html·github·html5·hbuilder
timeguys2 小时前
【前端】[vue3] [uni-app]使用 vantUI 框架
前端·uni-app
岁岁岁平安2 小时前
Vue3学习(组合式API——Watch侦听器、watchEffect()详解)
前端·javascript·vue.js·学习·watch侦听器·组合式api
uwvwko2 小时前
BUUCTF——web刷题第一页题解
android·前端·数据库·php·web·ctf
有事没事实验室3 小时前
CSS 浮动与定位以及定位中z-index的堆叠问题
前端·css·开源
2501_915373883 小时前
Vue路由深度解析:Vue Router与导航守卫
前端·javascript·vue.js
小妖6663 小时前
前端表格滑动滚动条太费事,做个浮动滑动插件
前端