js注册时输入合法性验证方法

下面是详细的"js注册时输入合法性验证方法"攻略:

步骤一:获取注册表单中需要验证的DOM元素

在注册表单中,可能需要验证用户的姓名、邮箱、密码、确认密码等信息,我们需要获取这些DOM元素,方便后面使用。

<body>
    <form id="registerForm">
        <div>
            <label for="userName">用户名:</label>
            <input type="text" id="userName" name="userName" />
        </div>
        <div>
            <label for="email">电子邮箱:</label>
            <input type="text" id="email" name="email" />
        </div>
        <div>
            <label for="password">设置密码:</label>
            <input type="password" id="password" name="password" />
        </div>
        <div>
            <label for="confirmPassword">确认密码:</label>
            <input type="password" id="confirmPassword" name="confirmPassword" />
        </div>
        <div>
            <button type="submit">注册</button>
        </div>
    </form>
</body>

<script>
    const formEl = document.querySelector('#registerForm');
    const userNameEl = document.querySelector('#userName');
    const emailEl = document.querySelector('#email');
    const passwordEl = document.querySelector('#password');
    const confirmPasswordEl = document.querySelector('#confirmPassword');
</script>

步骤二:定义验证函数

接下来,我们需要为每个输入框元素定义一个验证函数,用于验证输入是否合法。一个简单的验证函数应该接受一个参数,表示需要验证的值,返回一个布尔值,表示是否合法。

以下是一个例子,用于验证用户名是否为合法字符串。

function validateUsername(username) {
  const usernameReg = /^[a-zA-Z][a-zA-Z0-9_]{4,15}$/; // 匹配由数字字母下划线组成的5-16位字符串,且首字母必须是字母 
  return usernameReg.test(username);
}

步骤三:注册表单提交事件

接下来,我们需要为注册表单添加一个提交事件,用于在用户提交表单时验证输入是否合法。在提交事件回调函数中,我们需要对每个输入框元素依次进行验证。

以下是一个例子:

formEl.addEventListener('submit', function(e) {
    e.preventDefault(); // 防止浏览器默认刷新
    const username = userNameEl.value.trim();
    const email = emailEl.value.trim();
    const password = passwordEl.value.trim();
    const confirmPassword = confirmPasswordEl.value.trim();
    if (!validateUsername(username)) {
        alert('用户名不合法!');
        return;
    }
    if (!validateEmail(email)) {
        alert('邮箱不合法!');
        return;
    }
    if (!validatePassword(password)) {
        alert('密码长度不合法!');
        return;
    }
    if (password !== confirmPassword) {
        alert('两次密码不一致!');
        return;
    }
    // 表单提交后续操作
});

上面这个例子,通过e.preventDefault()方法阻止了表单默认的提交刷新行为。然后分别调用验证函数对每个表单元素的值做出了验证,并在验证不合法时弹出相应的提示,否则直接执行表单提交后续的操作。

示例一:验证邮箱

定义邮箱合法性验证函数:

function validateEmail(email) {
  const emailReg = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
  return emailReg.test(email);
}

在表单提交回调函数中使用该函数进行验证:

formEl.addEventListener('submit', function(e) {
    e.preventDefault(); // 防止浏览器默认刷新
    const username = userNameEl.value.trim();
    const email = emailEl.value.trim();
    const password = passwordEl.value.trim();
    const confirmPassword = confirmPasswordEl.value.trim();
    if (!validateUsername(username)) {
        alert('用户名不合法!');
        return;
    }
    if (!validateEmail(email)) {
        alert('邮箱不合法!');
        return;
    }
    if (!validatePassword(password)) {
        alert('密码长度不合法!');
        return;
    }
    if (password !== confirmPassword) {
        alert('两次密码不一致!');
        return;
    }
    // 表单提交后续操作
});

示例二:验证密码长度

定义密码合法性验证函数:

function validatePassword(password) {
  return password.length >= 8 && password.length <= 16;
}

在表单提交回调函数中使用该函数进行验证:

formEl.addEventListener('submit', function(e) {
    e.preventDefault(); // 防止浏览器默认刷新
    const username = userNameEl.value.trim();
    const email = emailEl.value.trim();
    const password = passwordEl.value.trim();
    const confirmPassword = confirmPasswordEl.value.trim();
    if (!validateUsername(username)) {
        alert('用户名不合法!');
        return;
    }
    if (!validateEmail(email)) {
        alert('邮箱不合法!');
        return;
    }
    if (!validatePassword(password)) {
        alert('密码长度不合法!');
        return;
    }
    if (password !== confirmPassword) {
        alert('两次密码不一致!');
        return;
    }
    // 表单提交后续操作
});

上面这个例子,validatePassword函数用于验证密码长度是否在8到16个字符之间。在表单提交事件回调函数中,如果密码不合法,会弹出一个提示框,提示密码长度不合法。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js注册时输入合法性验证方法 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • vue整合百度地图显示指定地点信息

    下面我会为您介绍Vue整合百度地图显示指定地点信息的完整攻略。 步骤一:申请百度地图开发者账号和JavaScript API密钥 首先需要申请百度地图开发者账号,然后在开发者中心获取JavaScript API密钥。 步骤二:安装百度地图JavaScript API SDK 在Vue项目中使用npm安装百度地图JavaScript API SDK,并在Vue…

    JavaScript 2023年5月19日
    00
  • js实现酷炫倒计时动画

    下面是“js实现酷炫倒计时动画”的完整攻略。 1. 倒计时的原理 倒计时的实现原理是计算当前时间与目标时间之间的时间差(以秒为单位),然后将时间差转换成时、分、秒等单位,最后将这些单位显示出来。在实现动画效果时,可以将显示的数据和动画效果绑定在一起,通常是通过CSS3中的transition或者动画实现。 2. 实现步骤 2.1 设定目标时间 首先我们需要确…

    JavaScript 2023年6月10日
    00
  • js正则表达式之exec方法讲解

    下面是关于“js正则表达式之exec方法讲解”的完整攻略。 exec方法介绍 正则表达式是一个非常重要的知识点,使用正则表达式可以进行文本匹配和替换,exec() 是Regexp对象的一个方法,用于在字符串中执行正则表达式的搜索,并返回包含结果的数组。如果没有找到匹配,它将返回 null。 该方法的语法如下所示: regexp.exec(str) 其中 re…

    JavaScript 2023年6月10日
    00
  • JS数据类型判断的几种常用方法

    一、题目背景在JavaScript编程中,我们经常需要对数据的类型进行判断,以便进行不同的操作。本文详细讲解了JS数据类型判断的几种常用方法。 二、常用方法1. typeof 运算符这是最常用的判断数据类型的方式。它可以返回一个字符串,表示操作数的类型。它可以判断基本数据类型、“function”和“undefined”类型,但不能判断具体的引用类型。使用方…

    JavaScript 2023年5月27日
    00
  • JS输出空格的简单实现方法

    要实现JS输出空格,有多种方法。下面我们介绍两种方法: 方法一:使用HTML中的空格符 HTML中的空格符,即&nbsp;,可以被JS读取并输出。使用这个符号,可以轻易地输出空格,如下所示: <!DOCTYPE html> <html> <head> <title>JS输出空格的方法示例</tit…

    JavaScript 2023年5月28日
    00
  • 浅谈JS中json数据的处理

    下面是“浅谈JS中json数据的处理”的完整攻略: 一、什么是JSON JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,以易于读写且易于机器解析的形式传输数据。JSON采用键值对的形式组织数据,并使用逗号分隔不同的键值对。 二、JSON数据的表示方式 在JavaScript中使用JSON表示数据时,可以使用字面量表…

    JavaScript 2023年6月11日
    00
  • JavaScript 实现網頁打印處理

    要在网页上实现打印功能,可以使用 JavaScript 来控制页面的打印行为。下面是一些实现网页打印的攻略: 1. 使用 window.print 方法 window.print() 是 JavaScript 的内置方法,用于打开浏览器的打印框架并弹出打印对话框。为了使打印结果更好的呈现,建议在打印前设置适当的 CSS 样式,以适应打印机的纸张格式。 示例 …

    JavaScript 2023年5月19日
    00
  • 判断文件是否正在被使用的JS代码

    判断文件是否正在被使用是一个常见的需求,特别是在需要删除或移动文件的场景中。以下是一些主流的实现方案: 方案一:尝试修改文件属性 文件被占用时,尝试修改文件属性或对文件进行写操作会导致操作失败。因此,可以通过尝试修改文件属性或写入数据来判断文件是否正在被占用。以下是示例代码: function isFileInUse(filePath) { let isUs…

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部