【问题标题】:javascript validation of username and passwordjavascript验证用户名和密码
【发布时间】:2019-06-27 06:04:44
【问题描述】:

我正在做家庭作业,并且一直在绞尽脑汁想弄清楚如何做以下事情:

  1. uName - 需要输入一些东西(如果不抛出错误), 需要至少一个字母和一个字符的字母数字(如果不抛出错误), 否则通过检查并增加 checkev 计数器
  2. 密码 - 需要输入某些内容(如果不引发错误),要求字符数大于或等于 8 个字符(如果不引发错误),否则通过检查并增加 checkev 计数器

此时,我有原始错误是由没有条目触发的,但是,一旦我测试不符合字母数字或 8 个字符的第二种情况,我就没有得到预期的响应。

以下是我迄今为止编写的 JS 和 HTML 示例:

任何帮助将不胜感激!先感谢您!

window.onload = init;
    function checkRegistration() {
        var checkev = 0;
        var uName = document.pageForm.userName.value;
        var alphaNum = /^[a-z0-9]+$/i;
        var password = document.pageForm.password.value;
        
       if (uName == "") {
            document.getElementById('userName').innerHTML = "A username is required.";
            checkev=0;
        } else if (uName.match != alphaNum)
            document.getElementById('userName').innerHTML = "Username must contain at least one letter and one number, no special characters.";
        {
            document.getElementById('userName').innerHTML = "";
            checkev++;
        }
        
        
        if (password == "") {
            document.getElementById('password').innerHTML = "A password is required.";
            checkev = 0;
        } else if (password.lenth >= 8)
            document.getElementById('password').innerHTML = "A password of at least 8 characters is required.";
        else {
            document.getElementById('password').innerHTML = "";
            checkev++;
        }
<!DOCTYPE html>
<html lang="en-US">

<head>
    <title>Invitation Page</title>
    <link rel="stylesheet" type="text/css" href="css/main.css" />
    <script src="js/registration.js"></script>
</head>
    <form name="pageForm">
        <form action="#">
            <label for="userName">Username:</label>
            <input type="text" name="userName" placeholder="Enter your Username" />
            <span class="error" id="userName"></span><br><br>
            <label for="Password">Password:
            </label>
            <input type="password" name="password" placeholder="Enter your Password" />
            <span class="error" id="password"></span><br><br>
            <input type="button" value="Submit" onclick="checkRegistration()">
            
            </form>
            </form>

【问题讨论】:

  • password.lenth &gt;= 8 必须是 password.lenth &lt;= 8

标签: javascript validation alphanumeric


【解决方案1】:

1 个错字和 1 个逻辑问题。

试试password.length &lt; 8

【讨论】:

    【解决方案2】:
     <input type="text" name="userName" id="userName" placeholder="Enter your Username" />
    
    <input type="password" name="password" id="password" placeholder="Enter your Password" />
    

    您在使用getElementById() 时错过了id 属性 祝你好运......

    【讨论】:

      【解决方案3】:

      不要硬编码您的验证,只需使用 V4F

      查看https://v4f.js.org了解更多详情

      import {Field, Schema} from "v4f";
      
      export Schema({
        username: Field()
          .alpha()
          .min(1)
          .required(),
        password: Field()
          .min(8)
          .required()
      });

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-26
        • 2013-12-26
        • 2016-01-24
        • 1970-01-01
        相关资源
        最近更新 更多