javascript
const express = require(’express’);
const bodyParser = require(’body-parser’);
const app = express();
const users = []; // 存储用户信息,实际应用中应该从数据库读取
app.use(bodyParser.json()); // 解析 JSON 数据
app.use(bodyParser.urlencoded({ extended: true })); // 解析表单数据
// 注册接口
app.post(’/register’, (req, res) => {
const { username, password } = req.body; // 获取表单数据中的用户名和密码
const passwordRegex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*d)[a-zA-Zd]{8,}$/; // 密码格式要求:至少一个大写字母、一个小写字母和一个数字,长度至少为 8 位

if (!passwordRegex.test(password)) { // 如果密码格式不正确,返回错误信息
return res.status(400).json({ message: ’密码格式错误,请重新输入’ });
}
const userExists = users.some(user => user.username === username); // 检查用户名是否已存在
if (userExists) { // 如果用户名已存在,返回错误信息
return res.status(400).json({ message: ’用户名已存在,请更换用户名’ });
}
users.push({ username, password }); // 添加新用户信息到数组中(实际应用中应该保存到数据库)
res.send(’注册成功’); // 注册成功返回相应信息
});
// 登录接口
app.post(’/login’, (req, res) => {
const { username, password } = req.body; // 获取表单数据中的用户名和密码
const user = users.find(user => user.username === username); // 查找用户信息
if (!user) { // 如果用户不存在,返回错误信息
return res.status(400).json({ message: ’用户不存在’ });
}
if (user.password !== password) { // 如果密码不正确,返回错误信息
return res.status(400).json({ message: ’密码错误’ });
}
res.send(’登录成功’); // 登录成功返回相应信息
});
app.listen(3000, () => console.log(’Server is running on port 3000’)); // 启动服务器并监听端口号 3000
在这个示例代码中,我们使用了 Express 框架来处理 HTTP 请求和响应,注册接口中,我们首先验证密码格式是否正确,如果不正确则返回错误信息,接着检查用户名是否已经存在,如果存在则返回错误信息,如果用户名和密码都符合要求,则将新用户信息添加到数组中(实际应用中应该保存到数据库中),登录接口中,我们首先查找用户信息,如果不存在则返回错误信息,如果用户名和密码匹配成功,则返回登录成功的响应信息。










