import React, { useState } from 'react';
// 验证邮箱格式函数
const validateEmail = (email) => {
return email.includes('@');
};
const RegistrationForm = () => {
const [username, setUsername] = useState('');
const [password, setPassword] = useState('');
const [confirmPassword, setConfirmPassword] = useState('');
const [email, setEmail] = useState('');
const [passwordError, setPasswordError] = useState('');
const [emailError, setEmailError] = useState('');
const handleSubmit = (e) => {
e.preventDefault();
if (password!== confirmPassword) {
setPasswordError('密码和确认密码不一致');
} else {
setPasswordError('');
}
if (!validateEmail(email)) {
setEmailError('邮箱格式不正确');
} else {
setEmailError('');
}
if (!passwordError &&!emailError) {
// 执行注册逻辑
console.log('注册成功');
}
};
return (
<form onSubmit={handleSubmit}>
<label>用户名:
<input
type="text"
value={username}
onChange={(e) => setUsername(e.target.value)}
/>
</label>
<br />
<label>密码:
<input
type="password"
value={password}
onChange={(e) => setPassword(e.target.value)}
/>
</label>
<br />
<label>确认密码:
<input
type="password"
value={confirmPassword}
onChange={(e) => setConfirmPassword(e.target.value)}
/>
{passwordError && <span style={{ color:'red' }}>{passwordError}</span>}
</label>
<br />
<label>邮箱:
<input
type="email"
value={email}
onChange={(e) => setEmail(e.target.value)}
/>
{emailError && <span style={{ color:'red' }}>{emailError}</span>}
</label>
<br />
<button type="submit">注册</button>
</form>
);
};
export default RegistrationForm;