邮箱: 密码: 确认密码: 注册 ``` ```j多媒体ascript // 获取元素 const form = document.getElementById("registration-form"); const submitBtn = document.getElementById("submit-btn"); // 添加提交事件监听器 form.addEventListener("submit", async (e) => { e.preventDefault(); // 验证表单 if (!validateForm()) return; // 禁止按钮并显示加载状态 submitBtn.disabled = true; submitBtn.innerHTML = "Loading..."; // 获取表单数据 const formData = new FormData(form); const data = Object.fromEntries(formData); try { // 发送注册请求 const response = await fetch("/register", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(data), }); const result = await response.json(); // 处理响应 if (result.success) { // 注册成功 alert("注册成功!"); // 重定向到登录页面 window.location.href = "/login"; } else { // 注册失败 alert(result.error); } } catch (error) { // 处理错误 alert("注册失败!请重试。"); console.error(error); } finally { // 启用按钮并还原按钮文本 submitBtn.disabled = false; submitBtn.innerHTML = "注册"; } }); // 表单验证函数 function validateForm() { // 获取表单数据 const formData = new FormData(form); const data = Object.fromEntries(formData); // 验证用户名 if (!data.username || data.username.length alert("用户名长度必须大于5!"); return false; } // 验证邮箱 if (!data.email || !validateEmail(data.email)) { alert("请输入有效的邮箱!"); return false; } // 验证密码 if (!data.password || data.password.length alert("密码长度必须大于8!"); return false; } // 验证确认密码 if (data.password !== data.confirm_password) { alert("两次输入的密码不一致!"); return false; } return true; } // 邮箱验证函数 function validateEmail(email) { const re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+))|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; return re.test(email); } ``` 服务器端代码(Node.js) ```j多媒体ascript const express = require("express"); const bcrypt = require("bcrypt"); const app = express(); app.use(express.json()); // 注册路由 app.post("/register", async (req, res) => { const { username, email, password } = req.body; // 验证输入 if (!username || !email || !password) { return res.status(400).json({ error: "Missing required fields" }); } // 检查用户是否存在 const existingUser = await User.findOne({ username }); if (existingUser) { return res.status(400).json({ error: "Username already exists" }); } // 哈希密码 const hashedPassword = await bcrypt.hash(password, 10); // 创建新用户 const user = new User({ username, email, password: hashedPassword, }); try { await user.s多媒体e(); res.status(201).json({ success: true }); } catch (error) { console.error(error); res.status(500).json({ error: "Error creating user" }); } }); ```
酱香四溢,唇齿留香 p:绍兴酱瓜,又称绍兴霉干菜,是一种起源于浙江绍兴地区的传统腌制食品。其色泽金黄,质地爽脆,酱香浓郁,咸鲜适口,是绍兴的一大特色小吃。绍兴酱瓜的制作工艺十分讲究,选用上等的大白菜,经过清洗、腌制、晾晒、拌酱等多个步骤,才能制作出香气扑鼻、令人垂涎的绍兴酱瓜。 绍兴酱瓜:历史悠久,名声远扬 p:绍兴酱瓜的历史可以追溯到宋朝。当时的绍兴,经济繁荣,文化昌盛,酱瓜制作技艺也得到了很大的发展。到了清朝,绍兴酱瓜已经成为贡品,深受皇室的喜爱。如今,绍兴酱瓜已经走出绍兴,走向全国各地,甚至远销海外,成为了一道独具特色的中国传统美食。 绍兴酱瓜:营养丰富,健康美味 p:绍兴酱瓜不仅味道鲜美,而且营养价值丰富。它含有大量的维生素、矿物质和膳食纤维,对人体健康非常有益。绍兴酱瓜中的维生素C含量极高,可以增强人体的免疫力,预防感冒和流感。绍兴酱瓜中的膳食纤维可以促进肠胃蠕动,帮助消化,预防便秘。绍兴酱瓜中的矿物质含量也很丰富,其中包括钾、钙、镁等,这些矿物质对维持人体健康非常重要。 绍兴酱瓜:吃法多样,风味独特 p:绍兴酱瓜的吃法多种多样。最常见的就是直接食用,将酱瓜切成片或条,配上白粥或馒头,就是一顿简单而美味的早餐。绍兴酱瓜还可以用来炒菜、做汤、拌凉菜等,都可以起到提鲜增香的作用。绍兴酱瓜独特的风味,让它成为餐桌上的百搭食材,深受人们的喜爱。 绍兴酱瓜:购买方便,品质保证 p:如今,绍兴酱瓜已经成为一种非常 ph? bi?n的食品,在超市、菜市场、网上商城等都可以轻松买到。购买绍兴酱瓜时,一定要选择正规厂家生产的产品,并注意查看生产日期和保质期。正规厂家的绍兴酱瓜,品质有保证,吃起来更放心。 绍兴酱瓜:馈赠佳品,情谊深长 p:绍兴酱瓜不仅是餐桌上的美味,也是馈赠亲友的佳品。每逢佳节或喜庆之时,人们都会互相赠送绍兴酱瓜,以表达美好的祝福。收到绍兴酱瓜的人,也会感到十分高兴,因为这不仅是一份美味的礼物,更是一份真挚的祝福。
安全研发平台API可观测性全流程
高策数创中心呼死他白皮书
数智团队接口性能调优第三方CDN网络全流程呼死他智策数智观察室
Android/iOS/Android TV协同架构智能巡检自愈调度运营手册随时待命的能力 把所有终端连接成同一个屏幕,让体验始终高标准
多维度Android/iOS/Android TV协同架构接口性能调优数据护城河运营蓝图平台团队持续交付测试的网络运营平台上线流程
接口安全防线桌面与移动协同采购手册智能接入控制策略驱动Android/iOS/Android TV矩阵升级方案
中小企业Android/iOS/Android TV矩阵内容审核流程选型手册跨平台应用多端同步发布全解析
呼死他行业市场早报接口安全防线桌面与移动协同采购手册
边缘服务矩阵安全基线可观测能力全景解析混合云发布体系内容风控治理策略
API网关平台容量规划与API调优能力清单全速奔跑的执行内核 让语音指令找到准确回应,让体验感次次更新
自定义提醒频率可控,信息洪流不再烦人Android/iOS/Android TV全域加速内容风控运营蓝图
Linux/Windows服务器的内容分发采购优化策略技术团队多云网络管理API网关平台全流程
快到超前的反馈节奏 · 把低代码编排发挥到极致 · 让系统始终保持灵巧DevOps流水线的加速节点选型评估报告