使用正则表达式进行表单验证

需求:使用正则表达式完成基本的表单验证

	//获取所有的输入框
	//账号验证
   var input = document.querySelectorAll('input');
   		//按键弹起时出发验证
        input[0].onkeyup = function () {

            var value = this.value;
            //声明一个判断用户名为字母数字下划线组成的6-18的字符串验证规则
            var reg = /^[a-zA-Z0-9_]{6,18}$/ig;
            if (reg.test(value)) {
                this.style.border = 'blue 2px solid'
            } else {
                this.style.border = 'red 2px solid'
            }
        }
        input[1].onkeyup = function () {
            var value = this.value;
            //声明一个判断密码为任意字符组成的6-18的字符串验证规则
            var reg = /^.{6,18}$/ig;
            if (reg.test(value)) {
                this.style.border = 'blue 2px solid'
            } else {
                this.style.border = 'red 2px solid'

            }
        }
        input[2].onkeyup = function () {
            var value = this.value;
            //声明一个判断以数字1-9开头长度为6-10的qq号码,且后缀为@qq.com的字符串验证规则
            var reg = /^[1-9][0-9]{5,9}(@qq.com)$/ig;
            if (reg.test(value)) {
                this.style.border = 'blue 2px solid'
            } else {
                this.style.border = 'red 2px solid'

            }

        }
        input[3].onkeyup = function () {
            var value = this.value;
            //声明一个判断以1/3/4/5/7开头的十一位的电话号码的验证规则
            var reg = /^[1][3|4|5|7][0-9]{10}$/ig;
            if (reg.test(value)) {

                this.style.border = 'blue 2px solid'
            } else {
                this.style.border = 'red 2px solid'

            }
        }
        input[4].onkeyup = function () {
            var value = this.value;
            //声明一个判断第一位为1-9最后一位为0-9大写x小写x长度为18位的身份证号的验证规则
            var reg = /^[1-9][0-9]{16}[0-9Xx]$/ig;
            if (reg.test(value)) {

                this.style.border = 'blue 2px solid'
            } else {
                this.style.border = 'red 2px solid'

            }
        }

css+html

<style>
        div {
        height: 40px;
        margin-top: 20px;
       
       
    }
    input {
        outline: none;
        height: 40px;
        width: 300px;
    }
    </style>
<div>
        <label>帐号:</label>
        <input type="text">
    </div>
    <div>
        <label>密码:</label>
        <input type="password">
    </div>
    <div>
        <label>邮箱:</label>
        <input type="text">
    </div>
    <div>
        <label>电话:</label>
        <input type="text">
    </div>
    <div>
        <label>身份证号:</label>
        <input type="text">
    </div>
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值