简易的表单验证

html设计
用户名:<input type=“text” id=“user”<span</span

密码:<input type=“text” id=“pass”<span</span

重复密码:<input type=“text” id=“pass2”<span</span

手机号:<input type=“text” id=“tel”</span

<input type=“button” id=“btn” value=“提交”
js设计
var ouser = document.getElementById(“user”);
var opass = document.getElementById(“pass”);
var opass2 = document.getElementById(“pass2”);
var otel = document.getElementById(“tel”);
var obtn = document.getElementById(“btn”);

// 用来记录每个输入框的状态,成功或失败,为将来整体验证做准备
var u=p=p2=t=false;

// 用户名仅支持中文、字母、数字、“-”“_”的组合,4-20个字符
ouser.onblur = function(){
    var reg = /^[\u2E80-\u9FFF\w-]{4,20}$/;
    if(reg.test(this.value)){
        this.nextElementSibling.innerHTML = "用户名正确";
        u = true;
    }else{
        this.nextElementSibling.innerHTML = "用户名错误";
        u = false;
    }
}

opass.onblur = function(){
    // 给密码可能会出现的字符的种类做状态,为将来验证密码强度做准备
    var a=b=c=0;
    // 是否出现数字
    var numReg = /\d/;
    if(numReg.test(this.value)){
        a=1
    }
    // 是否出现字母
    var azReg = /[a-zA-Z]/;
    if(azReg.test(this.value)){
        b=1
    }
    // 是否出现特殊字符
    var tsReg = /[^0-9a-zA-Z\u2E80-\u9FFF]/;
    if(tsReg.test(this.value)){
        c=1
    }

    switch(a+b+c){
        case 1:
            this.nextElementSibling.innerHTML = "简单";break;
        case 2:
            this.nextElementSibling.innerHTML = "一般";break;
        case 3:
            this.nextElementSibling.innerHTML = "困难";break;
    }

    p = true;

    if(this.value === opass2.value){
        opass2.nextElementSibling.innerHTML = "一致";
        p2 = true;
    }else{
        opass2.nextElementSibling.innerHTML = "不一致";
        p2 = false;
    }
}
    
opass2.onblur = function(){
    if(this.value === opass.value){
        this.nextElementSibling.innerHTML = "一致";
        p2 = true;
    }else{
        this.nextElementSibling.innerHTML = "不一致";
        p2 = false;
    }
}

otel.onblur = function(){
    var reg = /^1[3-9]\d{9}$/;
    if(reg.test(this.value)){
        this.nextElementSibling.innerHTML = "手机号符合";
        t = true;
    }else{
        this.nextElementSibling.innerHTML = "手机号不符合";
        t = false;
    }
}


obtn.onclick = function(){
    if(u && p && p2 && t){
        alert("提交成功");
    }else{
        if(!u){
            alert("用户名失败")
        }
        if(!p){
            alert("密码失败")
        }
        if(!p2){
            alert("重复密码失败")
        }
        if(!t){
            alert("手机号失败")
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值