Web中的常用的两种表单验证

今天介绍下web开发中常用的两种表单验证,form提交和ajax提交

form提交

表单是通过form提交时,用户点击提交(input typte="submit")按钮触发form提交

<form action="listAllWork.jsp" name="form" method="Post" onsubmit="return check(this.form )" >  
            <div class="weui-cells">
                <div class="weui-cell weui-cell_select">
                    部门:<select name="dept" id="dept" onchange="showDept(this.value)">
                        <option value="">请选择</option>
                        <option value="1">部门一</option>
                        <option value="2">部门二</option>
                    </select>
                    姓名:<select name="xingming" id="xingming" >
                        <option value="">请选择</option>
                    </select>
                </div>
            </div>
            <div class="weui-btn-area">
                <input type="submit"   name="submit"  value="查询"/> 
            </div>
        </form>  

触发事件 onsubmit="return check(this.form )" 当check函数返回true的时候正常提交,false则不提交。

 function check(form){
            var bumen =this.form.dept.value;
            var xingming =this.form.xingming.value;
            if(bumen==""){
                alert("请选择部门");
                return false;
            }else if(xingming==""){
                alert("请选择人名");
                return false;
            }else{
                return true;
            }
        }

check函数可以带参数也可以不带参数。不带参数的时候 通过js获取到表单项的值判断,如下:
document.getElementById("#").value
document.form.username.value
输入错误的时候提示用alert弹窗不太友好,可以使用div布局在页面显示。

ajax提交

ajax提交页面在编写的时候就不需要form表单了,用户点击提交触发ajax方法提交
下面举一个用户登录验证的例子
点击提交时验证表单项

  $("#login").click(function(){
                if(!checkPsw($("#psw").val())){
                    $("#psw").focus();
                }else{//格式验证通过后ajax验证登录信息
                    $.post("login_user.jsp",
                    {
                        name:$("#name").val(),
                        password:$("#psw").val()
                    },
                    function(data,status){
                        if(status=="success"){ 
                            if(data.indexOf("成功")<0){
                                $("#massage_login").html(data);
                            }else{}
                        }else{    
                            // $("#massage_add").html("jquery ajax执行出错啦!");
                            alert("jquery ajax执行出错啦!");
                        }
                    });
                }
            }); 

验证密码是否符合规则

 function checkPsw(a){
                reg = /^[a-z0-9]*$/;
                if(a.length<3) {
                    $("#massage_login").html("密码长度不能少于三个字符!");
                    return false;
                } else       
                    if(!reg.test(a)) {
                        $("#massage_login").html("密码只能由数字和字母组成!");
                        return false;
                    } else{
                    $("#massage_login").html("");
                    return true;
                }
            };  

用户输入时验证并提示

  $("#psw").keyup(
            function() {  
                n=$(this).val().replace(/[ ]/g,"").toLowerCase();
                $(this).val(n); 
                if(!checkPsw(n)){
                    $(this).focus();
                }
            });

以上就是网页中表单常用的验证,不足之处欢迎指正!
如需转载,请指明出处!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  •   JavaScript 最初的一个应用,就是分担服务器处理表单的责任,打破处处依赖服务器的局面。   尽管目前的...
    霜天晓阅读 680评论 0 3
  • React中没有类似Angular那样的双向数据绑定,在做一些表单复杂的后台类页面时,监听、赋值、传递、校验时编码...
    tedyuen777阅读 9,889评论 1 23
  • 22年12月更新:个人网站关停,如果仍旧对旧教程有兴趣参考 Github 的markdown内容[https://...
    tangyefei阅读 35,215评论 22 257
  • 表单基础知识 在HTML中,表单是由 元素来表示的,而在JS中,表单对应的则是HTMLFormElement类型。...
    oWSQo阅读 918评论 0 1
  • 不想办法提高自己,你朋友圈再多牛逼人也没用! 看到这句话好久了,越来越感受深刻! 今天群里又是再一个人疯狂的刷着屏...
    白菜蛻变阅读 235评论 0 0