表单提交并校验

本文介绍了如何使用JavaScript进行表单验证,包括用户名、密码、年龄、爱好和来自的选择。验证规则包括非空、长度限制及特定条件,满足条件则提交表单,否则显示错误信息。同时,文章讨论了代码中遇到的错误,如函数参数问题、元素获取错误及函数耦合度过高等,并提出了打印选项的实现方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

表单的需求

  1. 验证用户名
    (1)不能为空
    (2)长度为6-12位
  2. 验证密码
    (1)不能为空
    (2)长度为6-12位
    (3)不能包含用户名
  3. 年龄:必须选择成年了
  4. 爱好 :必须选择一项
  5. 来自:必须选择一项

如果满足以上所有条件,则弹出所有内容并提交表单。否则说明错误原因,不能提交表单
满足以上条件
1.弹出所有的内容
2.提交表单
否则
1.说明错误原因呢
2.不能提交表单

界面部分

<body>
        <form id="myform" name="myform" >
            姓名:<input type="text" id="uname" name="uname" value="zhangsan" /><br />
            密码:<input type="password" id="upwd" name="upwd" value="1234567" /><br />
            年龄:<input type="radio" name="uage" value="成年了" checked="checked">成年了
                <input type="radio" name="uage" value="还没成年">还没成年<br/>

            爱好:<input type="checkbox" name="ufav" value="篮球">篮球
                 <input type="checkbox" name="ufav" value="睡觉">睡觉
                 <input type="checkbox" name="ufav" value="写代码">写代码
            来自:<select id="ufrom" name="ufrom">
                    <option value="-1" selected="selected">请选择</option>
                    <option value="上海">上海</option>
                    <option value="深圳">深圳</option>
                 </select><br />
            <div id="validate" style="color: red;"></div>
            <button type="button" onclick="checkForm();">提交表单</button>
            <button type="button" onclick="resetForm();">重置表单</button>

            <button type="button" onclick="ShowForm();">显示表单内容</button>
            <button type="button" onclick="printTable();">打印表单内容</button>
        </form>
    </body >

下面是各种函数的功能解释

重置函数

  function resetForm() {
   
           fucking('myform').reset();
       }

将document.getElementById方法进行封装

function fucking(id) {
   
           return document.getElementById(id);
       }

== 将判断输入内容不为空也封装为一个函数==

function CheckNull(str) {
   
            if(str==null||str.trim()==""){
   
                return true;
            }
            return false;
        }

将长度的限制判断也封装为函数

 function CheckLength(str){
   
            if(str.length>12 || str.length<6){
   
                return true;
            }
            return false;
        }

CheckForm函数用来检查用户提交的数据是否符合规范

function checkForm() {
   
          /*获取用户名*/
           const uname = fucking('uname').value;
           if(CheckNull(uname)){
   
               fucking('validate').innerHTML = 
提交表单常用的验证 readOnly:字段是否只读,默认为false maxLength:字段允许输入的最大长度 minLength:字段允许输入的最小长度 vtype:验证类型的名字 alpha:限制只能输入字母 alphanum:限制只能输入字母和数字 email:验证email格式 url:验证url格式 editable:下拉框是否可编辑,默认为true disabled:控件是否可用,默认为false regex:正则表达式 匹配特定数字: ^[1-9]\d*$    //匹配正整数 ^-[1-9]\d*$   //匹配负整数 ^-?[1-9]\d*$   //匹配整数 ^[1-9]\d* ¦0$  //匹配非负整数(正整数 + 0) ^-[1-9]\d* ¦0$   //匹配非正整数(负整数 + 0) ^[1-9]\d*\.\d* ¦0\.\d*[1-9]\d*$   //匹配正浮点数 ^-([1-9]\d*\.\d* ¦0\.\d*[1-9]\d*)$  //匹配负浮点数 ^-?([1-9]\d*\.\d* ¦0\.\d*[1-9]\d* ¦0?\.0+ ¦0)$  //匹配浮点数 匹配特定字符串: ^[A-Za-z]+$  //匹配由26个英文字母组成的字符串 ^[A-Z]+$  //匹配由26个英文字母的大写组成的字符串 ^[a-z]+$  //匹配由26个英文字母的小写组成的字符串 ^[A-Za-z0-9]+$  //匹配由数字和26个英文字母组成的字符串 ^\w+$  //匹配由数字、26个英文字母或者下划线组成的字符串 常用验证: /n[/s|]*/r //匹配空行的正则表达式 匹配空行的正则表达式\d{15} ¦\d{18} //身份证验证 15或18位 [1-9]\d{5}(?!\d) //邮政编码 6位 ^[a-zA-z]+://[^\s]*  //url [\u4e00-\u9fa5] //匹配中文字符 ^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$    //email地址 \d{3}-\d{8} ¦\d{4}-\d{7} //电话号码验证,如:0511-4405222 或 021-87888822
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值