表单校验

表单校验

1. 掌握表单验证的实现流程

1.1 表单验证的作用
  • 保证用户输入的内容符合我们项目的要求
  • 降低服务器的压力
  • 提升用户的体验
1.2 表单验证的实现思路

**1.程序的入口:**事件(表单提交事件onsubmit,失去焦点事件onblur,普通按钮的点击事件onclick,获取焦点事件onfocus,键盘录入事件onkeydown

2.程序主体:(表单验证的实现思路(4步))

  • 获取表单数据 (表单的内容是存储在一个value属性中的)

  • 利用字符串等相关方法进行数据验证

  • 通过alert()或者其他的提示方式进行提醒(一般提醒会放在表单元素的右侧或者下侧)

  • 如果是提交事件注意应该将提交拦截!

    <body>
        <form action="success.html" method="GET">
            <p>
                帐号: <input type="text" id="" name="username" value="" />
            </p>
            <p>
                密码: <input type="password" name="password"  />
            </p>
            <input type="submit" value="提交"/>
        </form>
    
        <script src="js/jquery-1.12.4.js" type="text/javascript" charset="utf-8"></script>
        <script type="text/javascript">
    
            // 1.绑定事件
            // 提交事件是属于表单form的一个事件
            $("form").submit(function(){
                // alert(1);
                // 2.获取数据
                var username = $("input[name=username]").val();
                // alert(username);
                // 3.利用字符串等相关方法进行验证
                if(username == null || username == ""){
                    alert("用户名不能为空!");
                    // 默认返回true 表示提交表单
                    return false;
                }
    
                return true;
            });
    
        </script>
    </body>
    
1.3 掌握字符串的常用表单验证方法
  • trim() 去除两侧空格
  • indexOf() 获取指定字符的索引
  • lastIndexOf()获取指定字符的最后的索引
  • length 属性 获取字符串的长度
  • charAt() 获取指定索引的字符

2. 【了解】 表单过滤选择器

3. 掌握正则表达式的基本使用

会写基本的正则表达式

会看基本的正则表达式

正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。使用正则表达式可以用简洁的代码搞定复杂且严谨的验证。

语法:
// 普通方式定义
var reg = /正则的表达式/ [附加参数];
// 通过对象的构造来定义
var reg = new RegExp(正则表达式[,附加参数];

**表达式分类和组成:**复合模式和简单模式可以混用

  • 简单模式的表达式var reg = /abc/; 判断是否包含abc

  • 复合模式的表达式var reg = /[a-z]{6-16}/; 它可以匹配上6-16位的小a-小z

    • 元字符 例如:[a-z]

    在这里插入图片描述

    • 限定符 例如:{6,16}

在这里插入图片描述
在这里插入图片描述

附加参数:

g: global 全局 它对很多方法产生不同的影响

  • 字符串的replace方法 如果正则不加g则表示只替换一次

i:ignorecase 忽略大小写

m:multiline多行匹配 m往往要和g搭配使用

常用方法:

正则对象的方法:

  • exec() 查找匹配的字符串 并返回其位置
  • test() 验证字符串是否和正则匹配 默认为true

字符串的方法:

  • match() 查找一个或多个与正则匹配的内容

  • search() 查找与正则匹配的内容

    search()方法不执行全局匹配,它将忽略标志 g,并且总是从字符串的开始进行检索,这意味着它总是返回调用者的第一个匹配的位置。如果找不到返回-1。

  • replace()替换与正则匹配的内容

  • split() 根据正则切割字符串 切割为数组

以后正则表达式可以前往:

4. 掌握H5的表单验证特性

4.1 H5的表单新属性
  • required 表示此表单为必填项

  • dplaceholder 它会在表单内展示一个提示内容

  • pattern 和正则结合使用

  • max 最大值

  • min 最小值

4.2 H5提出来的DOM验证操作
var validateState(验证状态对象) = DOM对象.validity
validateSyaye.valueMissing
validateSyaye.typeMismatch
我们可以借助下方的这些属性验证当前表单元素的验证状态,根据此状态可以去进行自定义操作(自定义提示信息)
DOM对象.setCustomValidity(自定义提示信息);

在这里插入图片描述

在这里插入图片描述

// DOM对象属性和函数
$("input[type=submit]").click(function(){

    // alert(1);
    var emailEle = $("input[name=email]")[0];
    // 通过validity属性验证是否合法
    if(emailEle.validity.valueMissing){
        emailEle.setCustomValidity("邮箱不能为空!");
    }else if(emailEle.validity.patternMismatch){
        emailEle.setCustomValidity("邮箱格式非法!");
    }else{
        emailEle.setCustomValidity("");
    }

});

5. 了解一些前端的常见插件

validate:

highcharts

echarts:https://echarts.baidu.com/examples/index.html?theme=light

bootstrap:https://www.bootcss.com/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
js验证控制代码大全 /* 目录: 1:js 字符串长度限制、判断字符长度 、js限制输入、限制不能输入、textarea 长度限制 2.:js判断汉字、判断是否汉字 、只能输入汉字 3:js判断是否输入英文、只能输入英文 4:js只能输入数字,判断数字、验证数字、检测数字、判断是否为数字、只能输入数字 5:只能输入英文字符和数字 6: js email验证 、js 判断email 、信箱/邮箱格式验证 7:js字符过滤,屏蔽关键字 8:js密码验证、判断密码 2.1: js 不为空、为空或不是对象 、判断为空 、判断不为空 2.2:比较两个项的值是否相同 2.3:只能为数字和"_", 2.4:项输入数值/长度限定 2.5:中文/英文/数字/邮件地址合法性判断 2.6:限定项不能输入的字符 2.7的自符控制 1. 检查一段字符串是否全由数字组成 2. 怎么判断是否是字符 3. 怎么判断是否含有汉字 4. 邮箱格式验证 5. 数字格式验证 6. 电话号码格式验证 7. 判断输入是否为中文的函数 8. 综合的判断用户输入的合法性的函数 9. 判断密码是否输入一致 10. 判断用户名是否为数字字母下滑线 2.8:form文本域的通用校验函数 */ 1. 长度限制 function test() { if(document.a.b.value.length>50) { alert("不能超过50个字符!"); document.a.b.focus(); return false; } } 2. 只能是汉字 3." 只能是英文 function onlyEng() { if(!(event.keyCode>=65&&event.keyCode<=90)) event.returnvalue=false; } 4. 只能是数字 function onlyNum() { if(!((event.keyCode>=48&&event.keyCode=96&&event.keyCode<=105))) //考虑小键盘上的数字键 event.returnvalue=false; } 5. 只能是英文字符和数字 6. 验证油箱格式 function isEmail(strEmail) { if (strEmail.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1) return true; else alert("oh"); } 7. 屏蔽关键字(这里屏蔽***和****) function test() { if((a.b.value.indexOf ("***") == 0)||(a.b.value.indexOf ("****") == 0)){ alert(":)"); a.b.focus(); return false;} } <form name=a

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值