对文本框输入的要求设置并且用keydown添加事件

制作一个包含3个文本框的个人信息调查表单,这四个文本框要求依次输入:用户姓名、手机号码、电子邮箱。为这些文本框编写keydown事件处理函数,
实现要求:
用户名:长度在5-10个之间
手机号:11位且为数字,必须以150或者134开头
邮箱:格式必须为***@qq.com格式,其中***必须为0-9之间且长度为8位

就是用正则表达式判断
你题目的解答代码如下:

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
    <title> 页面名称 </title>
</head>
<body>

<p>用户名:<input type="text" id="user" value="" /><span id="usertext"></span></p>
<p>手机号:<input type="text" id="pin" value="" /><span id="pintext"></span></p>
<p>邮箱:<input type="text" id="mali" value="" /><span id="malitext"></span></p>

<script type="text/javascript">
document.getElementById("user").onkeydown=function () {
    var t = document.getElementById("usertext");
    if (this.value.length >= 5 && this.value.length <= 10) {
        t.innerHTML = "ok";
    } else {
        t.innerHTML = "用户名长度要在5-10个之间";
    }
}
document.getElementById("pin").onkeydown=function () {
    var t = document.getElementById("pintext");
    if (/^(150|134)\d{9}$/.test(this.value)) {
        t.innerHTML = "ok";
    } else {
        t.innerHTML = "手机号要11位且为数字,必须以150或者134开头";
    }
}
document.getElementById("mali").onkeydown=function () {
    var t = document.getElementById("malitext");
    if (/^\d{8}@qq\.com$/.test(this.value)) {
        t.innerHTML = "ok";
    } else {
        t.innerHTML = "邮箱格式必须为***@qq.com格式,其中***必须为0-9之间且长度为8位";
    }
}

</script>

</body>
</html>

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img