素材巴巴 > 程序开发 >

有哪些常见的验证表单方式,他们各自的优缺点是什么?

程序开发 2023-09-16 11:05:58

这里是修真院前端小课堂,每篇分享文从

【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】

八个方面深度解析前端知识/技能,本篇分享的是:

【有哪些常见的验证表单方式,他们各自的优缺点是什么?】

 

目录
1.背景介绍
2.知识剖析
3.常见问题
4.解决方案
5.编码实战
6.扩展思考
7.参考文献
8.更多讨论

1.背景介绍
JavaScript 可在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证。以减轻后台数据传送压力,提高数据传送的质量和效率。

clipboard.png

2.知识剖析
如何使用表单验证

原生js:获取input内容,if/switch判断,配合正则dom操作等实现目标

优点:灵活,减少加载时间;缺点:代码量大

js第三方插件:例如Bootstrap Validator

优点:代码量少;缺点:需要加载第三方js,样式比较固定

3.常见问题
表单验证有哪几种方式

1.实时判断

2.离开焦点

3.提交时验证

4.解决方案
5.代码实战
JS表单验证

是否填写以及长度限制



    
    

    
1234567

 
  function test() {
        if (document.a.b.value == null || document.a.b.value == "") {
            console.log("请输入字符");
            return false;
        }
        if (document.a.b.value.length > 5) {
            console.log("不能超过5个字符!");
            return false;
        }
    }
function onBlur() {//失去焦点
    if (document.a.b.value == null || document.a.b.value == "") {
        console.log("请输入字符");
        return false;
    }
    if (document.a.b.value.length > 5) {
        console.log("不能超过5个字符!");
        return false;
    }
}

function keyUp() {//按键后判断
    if (document.a.b.value == null || document.a.b.value == "") {
        console.log("请输入字符");
        return false;
    }
    if (document.a.b.value.length > 5) {
        console.log("不能超过5个字符!");
        return false;
    }

}1234567891011121314151617181920212223242526272829303132
6.扩展思考
他们的优缺点
提交时验证:

优点:性能上更好;缺点:假如输入项过多的话,会影响用户体验

适合登陆账号时检测输入内容是否合法

onBlur:

优点:用户体验好;缺点:必须鼠标点击别处后才能知道结果

常见于输入验证码,注册等功能

onKeyup:

优点:反应迅速,体验佳;缺点:用在某些地方可能看起来很蠢或影响性能,比如正在输入验证码或者检测是否重名等

适用于检测数据类型,比如注册页面的密码项

7 .参考文献
        

https://www.oschina.net/trans...;/p>1
8.更多讨论
还有那些常见的判断方式?

Q:现在一般企业用的是什么类型的表单验证?

A:腾讯阿里百度都是用的失去焦点验证,京东是实时验证

Q:防点击如何实现的,他有什么作用?

A:在angular中ng-disable为true的时候就会无法点击,所以我们需要与表单验证绑定起来再做一个取反判断即可,它可以更加人性化,使用户免于多余操作

Q:为什么要永novalidate

是在自己编写表单验证插件的时候(如jquery.validate,angular),为了避免和默认的表单验证冲突,


标签:

上一篇: GoogleMap_AutoComplete.js 下一篇:
素材巴巴 Copyright © 2013-2021 http://www.sucaibaba.com/. Some Rights Reserved. 备案号:备案中。