JavaScript登录注册账户名密码邮箱等用正则表达式校验。

JavaScript登录注册账户名密码邮箱等用正则表达式校验。

直接上代码 如果有解释不对的地方,或者错误的地方,请留言。 其中正则表达式具体的根据自己的需求更换
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script type="text/javascript">
    因为校验的基本流程一样  所以抽取一个函数来专门校验输入的对错。
    function check(username,regex,spanId,sucessInfo,errorInfo) {
        定义一个flag变量用来记录校验结果是true还是false
        var flag;
        获取要校验的标签里输入的值
        var val = document.getElementsByName(username)[0].value;
        获取要操作span标签 用来写入返回给正确和错误信息。
        var span = document.getElementById(spanId);
        判断页面标签内输入的内容是否符合正则的规则,如果符合,返回true 反之返回false。
        用flag记录  返回flag 作为函数的返回值。
        if (regex.test(val)) {
            正确的时候
            span.innerHTML = sucessInfo.fontcolor("red");
            flag = true;
        } else {
            错误的时候
            span.innerHTML = errorInfo.fontcolor("red");
            flag = false;
        }
        return flag;
    }
    定义一个失去焦点的函数user去校验账号是否符合规则。
    function user() {
        var regex = /^\w+@\w+(\.\w+)+$/i;
        返回一个正确为true 或者错误为false的返回值
        return check("username",regex,"userspan","用户名正确","用户名错误");
    }
    function pass() {
        var regex =/^[\d*\w*@_-]{5,12}$/;
        返回一个正确为true 或者错误为false的返回值
        return check("psw",regex,"pswspan","密码正确","密码错误");
    }
    接着就是随意扩展   添加组件去改变正则表达式和给check函数的传值即可

    定义一个form表单的onsubmit函数。返回truefalse
     因为onsubmit的返回值如果是true 则会提交表单 否则不提交
    function chekform() {
        当两个函数返回值都是true时  chekform函数返回true  反之为falseif(user() && pass()){
            return true;
        }else {
            return false;
        }
    }
</script>
<form onsubmit="return chekform()">
    邮箱账号: <input type="text" name="username" placeholder="账号为数字或字母下划线组成"  onblur="user()">
    <span id="userspan"></span>
    <br>

    密码: <input type="password" name="psw" placeholder="密码为6-12为数字字母符号组成" onblur="pass()">
    <span id="pswspan"></span>
    <br>
    <!--可以在密码下面添加很多组件去校验-->
    <input type="submit" value="提交账户密码">
</form>
</body>
</html>
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值