使用JS实现表单验证

使用JS实现表单验证目录表单页面展示 FormCheck jspCSS 样式 Register cssJavaScrip 代码 FormCheck js 以注册页面为例实现表单验证功能 表单页面展示 FormCheck jsp DOCTYPE tml htmllang en head metacharset UTF 8 title 注册页面表单校验 title metacharset UTF 8 head htmllang en


表单页面展示

FormCheck.jsp


< html lang="en">
  <head> <meta charset="UTF-8"> <title>注册页面表单校验 
      title> <link rel="stylesheet" href="../css/register.css">  
       head> <body> <div class="reg_back"> <div class="reg_left"> <p>新用户注册 
        p> <p>USER REGISTER 
         p>  
          div> <div class="reg_center"> <div class="reg_form"> <form action="#" method="post" id="form"> <table> <tr> <td class="td_left"><label for="username">用户名 
           label> 
            td> <td class="td_right"><input type="text" name="username" placeholder="请输入用户名(英文字符或数字)" id="username"> <span id="s_username" class="error"> 
             span>  
              td>  
               tr> <tr> <td class="td_left"><label for="password">密码 
                label> 
                 td> <td class="td_right"><input type="password" name="password" placeholder="请输入密码(长度在6~12位之间)" id="password"> <span id="s_password" class="error"> 
                  span>  
                   td>  
                    tr> <tr> <td class="td_left"><label for="Email">Email 
                     label> 
                      td> <td class="td_right"><input type="email" name="email" placeholder="请输入Email" id="Email"> <span id="s_email" class="error"> 
                       span>  
                        td>  
                         tr> <tr> <td class="td_left"><label for="rename">姓名 
                          label> 
                           td> <td class="td_right"><input type="text" name="rename" placeholder="请输入真实姓名(中文姓名)" id="rename"> <span id="s_rename" class="error"> 
                            span>  
                             td>  
                              tr> <tr> <td class="td_left"><label for="Telphone">手机号 
                               label> 
                                td> <td class="td_right"><input type="text" name="telphone" placeholder="请输入您的手机号" id="Telphone"> <span id="s_telphone" class="error"> 
                                 span>  
                                  td>  
                                   tr> <tr> <td class="td_left"><label>性别 
                                    label> 
                                     td> <td class="td_right"><input type="radio" name="gender" value="male" checked><input type="radio" name="gender" value="female"> 
                                      td>  
                                       tr> <tr> <td class="td_left"><label for="Birthday">出生日期 
                                        label> 
                                         td> <td class="td_right"><input type="date" name="birthday" id="Birthday"> 
                                          td>  
                                           tr> <tr> <td class="td_left"><label for="checkcode">验证码 
                                            label> 
                                             td> <td class="td_right"><input type="text" name="checkcode" id="checkcode"> <img src="../image/10.png" id="img_check"> 
                                              td>  
                                               
                                               tr> <tr> <td colspan="2" id="td_sub"><input type="submit" value="注册" id="btn_sub"> 
                                                td>  
                                                 tr>  
                                                  table>  
                                                   form>  
                                                    div>  
                                                     div> <div class="reg_right"> <p>已有账号?<a href="#">立即登录 
                                                      a> 
                                                       p>  
                                                        div>  
                                                         div> <script src="../js2/FormCheck.js"> 
                                                          script>  
                                                           body> 
                                                          

CSS样式

Register.css

* { 
     margin: 0px; padding: 0px; box-sizing: border-box; } body { 
     background: url("../image/9.jpg") no-repeat center; /*设置图片适应整个页面*/ background-size: 100% 100%; background-attachment:fixed; } .reg_back { 
     /*设置整体的尺寸、背景色、边距等*/ width: 900px; height: 400px; border: 8px solid #eeeeee; background: white; margin: auto; margin-top: 20px; } .reg_left { 
     /*设置左浮动和外边距*/ float: left; margin: 10px; } .reg_left > p:first-child { 
     /*设置段落(新用户注册)颜色和字体大小*/ color: yellow; font-size: 20px; } .reg_left > p:last-child { 
     /*设置段落(USER REGISTER)颜色和字体大小*/ color: #A6A6A6; font-size: 20px; } .reg_center { 
     /*设置中间的各种输入框等*/ float: left; width: 500px; } .reg_right { 
     /*设置右边段落浮动和外间距*/ float: right; margin: 30px; } .reg_right > p:first-child { 
     font-size: 15px; } .reg_right p a { 
     /*设置超链接(立即登录)颜色*/ color: crimson; } .td_left { 
     /*设置表单中字体对齐方式和宽度、高度*/ width: 100px; text-align: right; height: 40px; } .td_right { 
     /*设置输入框内边距*/ padding-left: 40px; } #username ,#password,#Email, #rename ,#Telphone,#Birthday,#checkcode{ 
     /*设置输入框大小和边框*/ width: 220px; height: 30px; border: 1px solid #A4A4A4; /* 设置边框为圆角 */ border-radius: 8px; padding-left: 10px; } #checkcode{ 
     /*验证码宽度*/ width: 120px; } #img_check{ 
     /*验证码图片*/ vertical-align: middle; height: 30px; width: 95px; } #btn_sub{ 
     /*注册按钮*/ background: lime; width: 100px; height: 40px; border: 1px solid lime ; } .error{ 
     color:red; } #td_sub{ 
     padding-left: 150px; } 

JavaScript代码

FormCheck.js

window.onload = function () { 
     //给表单绑定onsubmit事件 document.getElementById("form").onsubmit = function () { 
     return checkUsername() && checkPassword() &&checkEmail() && checkRename() && checkTelphone(); } //给用户名和密码框、Email、姓名、手机号分别绑定离焦事件 document.getElementById("username").onblur = checkUsername; document.getElementById("password").onblur = checkPassword; document.getElementById("Email").onblur = checkEmail; document.getElementById("rename").onblur = checkRename; document.getElementById("Telphone").onblur = checkTelphone; } //校验用户名 function checkUsername() { 
     //获取用户名的值 var username = document.getElementById("username").value; //定义正则表达式 var reg_username = /^([a-zA-Z0-9_-])/; //判断值是否符合正则表达式的规则 var flag = reg_username.test(username); //提示信息 var s_username = document.getElementById("s_username"); if (flag) { 
     //提示绿色对勾 s_username.innerHTML = "使用JS实现表单验证"; } else { 
     //提示红色错误信息 s_username.innerHTML = "用户名格式有误!"; } return flag; } //校验密码 function checkPassword(){ 
     //1.获取密码的值 var password = document.getElementById("password").value; //2.定义正则表达式 var reg_password = /^\w{6,12}$/; //3.判断值是否符合正则的规则 var flag = reg_password.test(password); //4.提示信息 var s_password = document.getElementById("s_password"); if(flag){ 
     //提示绿色对勾 s_password.innerHTML = "使用JS实现表单验证"; }else{ 
     //提示红色错误信息 s_password.innerHTML = "密码格式有误"; } return flag; } //校验Email function checkEmail(){ 
     //1.获取Email的值 var email = document.getElementById("Email").value; //2.定义正则表达式 var reg_email = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/; //3.判断值是否符合正则的规则 var flag = reg_email.test(email); //4.提示信息 var s_email = document.getElementById("s_email"); if(flag){ 
     //提示绿色对勾 s_email.innerHTML = "使用JS实现表单验证"; }else{ 
     //提示红色错误信息 s_email.innerHTML = "Email格式有误"; } return flag; } //校验真实姓名 function checkRename(){ 
     //1.获取真实姓名的值 var rename = document.getElementById("rename").value; //2.定义正则表达式 var reg_rename = /^[\u4e00-\u9fa5]{2,4}$/; //3.判断值是否符合正则的规则 var flag = reg_rename.test(rename); //4.提示信息 var s_rename = document.getElementById("s_rename"); if(flag){ 
     //提示绿色对勾 s_rename.innerHTML = "使用JS实现表单验证"; }else{ 
     //提示红色错误信息 s_rename.innerHTML = "真实姓名输入有误"; } return flag; } //校验手机号 function checkTelphone(){ 
     //1.获取手机号的值 var telphone = document.getElementById("Telphone").value; //2.定义正则表达式 var reg_telphone = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/; //3.判断值是否符合正则的规则 var flag = reg_telphone.test(telphone); //4.提示信息 var s_telphone = document.getElementById("s_telphone"); if(flag){ 
     //提示绿色对勾 s_telphone.innerHTML = "使用JS实现表单验证"; }else{ 
     //提示红色错误信息 s_telphone.innerHTML = "手机号输入有误"; } return flag; } 

效果图展示

在这里插入图片描述


好了,我亲爱的读者朋友,以上就是本文的全部内容了!!!

觉得有点用记得给我点赞哦!

通过坚持不懈地学习,持续不断地输出,你的编程基本功算得上是突飞猛进。

为了帮助更多的程序员,专注于分享有趣的 Java 技术编程和有益的程序人生。一开始,阅读量寥寥无几,关注人数更是少得可怜。但随自己的不断努力,阅读量和关注人都在猛烈攀升。

绝对不容错过,期待与你的不期而遇。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/201830.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月20日 上午8:31
下一篇 2026年3月20日 上午8:31


相关推荐

  • js html转义_如何定义值标签

    js html转义_如何定义值标签JS转换HTML转义符1234//去掉html标签function removeHtmlTab(tab){ return tab.replace(/]+?>/g,”);//删除所有HTML标签}  1

    2025年9月8日
    9
  • 为什么OpenClaw那么火  | 302.AI大白话聊一聊

    为什么OpenClaw那么火  | 302.AI大白话聊一聊

    2026年3月13日
    2
  • x86汇编–0.资料汇总[通俗易懂]

    x86汇编–0.资料汇总[通俗易懂]x86汇编–资料汇总1书籍2网站3博客参考1书籍《汇编语言》[王爽]《80×86汇编语言程序设计教程》[杨季文]《MASM程序指南》《Intel指令列表》《TheArtofAssemblyLanguage》2网站汇编网x86汇编小站3博客x86汇编语言笔记(全)(长文警告)王爽《汇编语言》笔记(详细)汇编入门(长文多图,流量慎入)参考1、汇编资料整理2、整理的汇编工具、汇编网站和汇编教学平台总结3、汇编学习软件推荐-汇编金手指.

    2022年10月13日
    7
  • VUE如何关闭Eslint 的方法

    VUE如何关闭Eslint 的方法最近在家里面创建vue项目的时候,手一抖把UseESLinttolintyourcode?(Y/N)选择了Y,然后到写代码的时候,虽然说是浏览器完全能运行结果,但是在cmd就是一直报错。强迫症没有办法。所以大家安装的时候最好选择N.如果不小心选择错了没有关系的,下面就是解决办法,一)在你的项目中找到build—–&gt;webpack.base.conf.js文件…

    2022年4月29日
    135
  • goland激活码2021【2021免费激活】

    (goland激活码2021)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~MLZP…

    2022年3月20日
    32
  • No MyBatis mapper was found in ‘[com.supergo]‘ package. Please check your configuration.问题

    No MyBatis mapper was found in ‘[com.supergo]‘ package. Please check your configuration.问题NoMyBatismapperwasfoundin‘[com.supergo]’package.Pleasecheckyourconfiguration.问题第一遍编写程序运行的时候没问题,第二遍的时候遇到了这个问题。使用的tk的开源项目进行mybatis集成,百度了很多解决方案,最终看到一位前辈介绍:doScan()会扫描启动类同级目录下的mapper接口,但是合理的目录结果绝对不允许所有的mapper都在启动类目录下,所以在启动类目录下添加了一个伪mapper,如下:然后再

    2022年6月25日
    36

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号