基于JavaScript的HTML用户注册界面以及简单应用

二、实验内容

  1. 创建用户注册页面文件register.html,界面如下图:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAX3Jvc3k=,size_20,color_FFFFFF,t_70,g_se,x_16

 

 

 2.新建JavaScript文件verify.js,对注册信息进行验证,各输入项的验证要求如图所示,若输入数据不符要求,显示红色提示信息。验证成功才能提交,否则不能提交。数据验证规则如下:

①用户名由6-10位字母和数字组成,至少包含1个字母和1个数字;

②年龄不能小于17岁;

③密码由6-10位字符组成,至少包含1个字母、1个数字和1个特殊符号;

④邮箱地址包含@字符。

三、实验要求

1. 功能实现思路:输入框用onBlur事件,当失去光标触发该事件,执行验证函数;数据验证使用正则表达式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script languuage="Javascript">
        function judgename(){
            var name=document.getElementById("username");
            var nameerror=document.getElementById("nameerror");
            
                var pattern=/^[A-Za-z0-9]{6,10}$/;
                if(!pattern.test(name.value)){
                    nameerror.innerHTML="用户格式不正确!";
                   
                }else{
                    nameerror.innerHTML="";
                   
                    usernameok=true;
                }
            }
            function judgeage(){
            var age=document.getElementById("age");
            var ageerror=document.getElementById("ageerror");
            
               // var pattern=/^[A-Za-z0-9]{6,10}$/;
                if(age.value<17){
                    ageerror.innerHTML="年龄不能小于17岁!";
                    
                }else{
                    ageerror.innerHTML="";
                    
                    ageok=true;
                }
            }
            function judgepassword(){
            var psd=document.getElementById("psd");
            var passworderror=document.getElementById("passworderror");
            
                var pattern=/^(?=.*[A-Za-z])(?=.*\d)(?=.*[!@#$%^&]).{6,10}$/;
                if(!pattern.test(psd.value)){
                    passworderror.innerHTML="用户格式不正确或者不能为空!";
                    
                }else{
                    passworderror.innerHTML="";
                    
                   passwordok=true;
                }
            }
            function judgeagain(){
            var againpass=document.getElementById("againpass");
            var againerror=document.getElementById("againerror");
            var psd=document.getElementById("psd");
                //var pattern=/^(?=.*[A-Za-z])(?=.*\d)(?=.*[!@#$%^&]).{6,10}$/;
                if(psd.value!=againpass.value){
                   againerror.innerHTML="两次密码不一致!";
                   
                }else{
                    againerror.innerHTML="";
                   
                   againok=true;
                }
            }
            function judgeemail(){
            var email=document.getElementById("email");
            var emailerror=document.getElementById("emailerror");
            
                var pattern=/^(?=.*[@]).+$/;
                if(!pattern.test(email.value)){
                   emailerror.innerHTML="邮箱格式不正确!";
                 
                }else{
                    emailerror.innerHTML="";
                   
                 emailok=true;
                }
            }
        function judge(){
            if(emailok&&againok&&passwordok&&ageok&&usernameok){
                alert("登录成功")
            }
            else alert("登录失败")
        }

</script>
    <title>用户注册页面</title>
</head>
<body>
    <div>
    <form id="myform" align="left" action="#">
    <table border="0px">
      <caption ><h3>用户注册信息</h3></caption>
        <tr>
            <td>用户名*:</td>
            <td><input type="text" id="username" placeholder="用户名由6-10位字符组成" size="12" onblur="judgename()"></td>
        <td id="nameerror" style="color: red;text-align: left;"><input type="text"size="12" ></td>
        </tr>
        <tr>
            <td>年 龄*:</td><td><input type="text" id="age" placeholder="请输入你的年龄" size="12" onblur="judgeage()"></td>
            <td id="ageerror" style="color: red;text-align: left;"><input type="text"size="12"></td>
        </tr>
        <tr>
            <td>密码*:</td><td><input type="password" id="psd"placeholder="请输入正确的密码" size="12" onblur="judgepassword()" ></td>
            <td id="passworderror" style="color: red;text-align: left;"><input type="text" size="12"></td>

        </tr>
        <tr>
            <td>确认密码*:</td>
            <td><input type="password" title="确认密码" size="12" id="againpass" onblur="judgeagain()"></td>
            <td id="againerror" style="color: red;text-align: left;"><input type="text" size="12"></td>

        </tr>
        <tr>
            <td>电子邮件*:</td><td><input type="text" placeholder="请输入你的邮件地址" size="12" id="email" onblur="judgeemail()"></td>
            <td id="emailerror" style="color: red;text-align: left;"><input type="text" size="12"></td>
        </tr>
        <tr>
            <td>电话号码:</td><td><input type="text" placeholder="请输入你的电话号码" size="12"></td>
      
        </tr>
        <tr>
            <td>QQ号码:</td><td><input type="text" placeholder="请输入你的QQ号码号码" size="12"></td>
      
        </tr>
        <tr>
            <td style="align-content: center; color: aqua;"> <input type="submit" value="提交" onclick="judge()" ></td>
           <td style="align-items: center;color: aqua;"><input type="button" value="重置"></td> 
        </tr>
    
    </table>
</form>
    
</div>
</body>
</html>

效果图:

 watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAX3Jvc3k=,size_20,color_FFFFFF,t_70,g_se,x_16

做的并不是十分美观,所有的要求的功能都已经实现,美观方面后期在使用css调整吧

 

 

  • 18
    点赞
  • 158
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
好的,以下是一个简单的注册界面前后端的代码示例: 前端代码(HTML、CSS、JavaScript): ```html <!DOCTYPE html> <html> <head> <title>注册界面</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> body { background-color: #f2f2f2; font-family: Arial, sans-serif; } form { background-color: #fff; padding: 20px; box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.2); width: 300px; margin: 0 auto; margin-top: 50px; border-radius: 5px; } h1 { text-align: center; font-size: 30px; color: #444; margin-bottom: 20px; } input[type="text"], input[type="password"], input[type="email"] { width: 100%; padding: 10px; margin-bottom: 20px; border-radius: 5px; border: none; box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.2); } input[type="submit"] { background-color: #4CAF50; color: #fff; border: none; padding: 10px; border-radius: 5px; cursor: pointer; width: 100%; font-size: 16px; margin-top: 10px; } input[type="submit"]:hover { background-color: #3e8e41; } .error { color: red; font-size: 14px; } </style> </head> <body> <form> <h1>注册</h1> <label for="username">用户名:</label> <input type="text" id="username" name="username" required> <label for="email">邮箱:</label> <input type="email" id="email" name="email" required> <label for="password">密码:</label> <input type="password" id="password" name="password" required> <label for="confirm-password">确认密码:</label> <input type="password" id="confirm-password" name="confirm-password" required> <input type="submit" value="注册"> <p class="error" id="error-message"></p> </form> <script> const form = document.querySelector('form'); const errorMessage = document.querySelector('#error-message'); form.addEventListener('submit', (event) => { event.preventDefault(); const username = form.elements['username'].value; const email = form.elements['email'].value; const password = form.elements['password'].value; const confirmPassword = form.elements['confirm-password'].value; if (password !== confirmPassword) { errorMessage.textContent = '密码与确认密码不一致'; } else { // 发送注册请求到后端,这里使用 fetch 方法模拟请求 fetch('/register', { method: 'POST', headers: {'Content-Type': 'application/json'}, body: JSON.stringify({username, email, password}) }) .then(response => response.json()) .then(data => { if (data.success) { window.location.href = '/login'; // 注册成功,跳转到登录页面 } else { errorMessage.textContent = data.message; // 注册失败,显示错误信息 } }) .catch(error => { console.error(error); errorMessage.textContent = '注册失败,请稍后再试'; }); } }); </script> </body> </html> ``` 这是一个基于 HTML、CSS 和 JavaScript简单注册界面,其中包括一个标题、一个用户名输入框、一个邮箱输入框、一个密码输入框、一个确认密码输入框和一个提交按钮。当用户点击提交按钮时,JavaScript 会验证输入的内容,然后使用 fetch 方法向后端发送注册请求。如果注册成功,JavaScript 会将用户跳转到登录页面;如果注册失败,JavaScript 会显示错误信息。 后端代码(Node.js): ```javascript const express = require('express'); const bodyParser = require('body-parser'); const app = express(); app.use(bodyParser.json()); // 处理注册请求 app.post('/register', (req, res) => { const {username, email, password} = req.body; // 在这里进行用户注册逻辑的处理,假设注册成功,返回如下 JSON 数据 res.json({success: true}); }); app.listen(3000, () => console.log('服务器已启动')); ``` 这是一个基于 Express 框架的简单后端代码,其中处理了注册请求的路由,当收到注册请求时,可以在这里进行用户注册逻辑的处理,然后返回相应的 JSON 数据。注意,这里只是一个示例,实际应用中,需要进行更严格的输入验证和安全考虑。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

H-rosy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值