проверка подлинности имени пользователя и пароля в javascript - PullRequest
0 голосов
/ 03 февраля 2019

Я работаю над домашним заданием и ломаю голову, пытаясь понять, как сделать следующее:

  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>

Ответы [ 3 ]

0 голосов
/ 03 февраля 2019
 <input type="text" name="userName" id="userName" placeholder="Enter your Username" />

<input type="password" name="password" id="password" placeholder="Enter your Password" />

вы пропускаете атрибут id, когда используете getElementById() и удачи ...

0 голосов
/ 07 февраля 2019

Не используйте жесткий код проверки, просто используйте V4F

Проверьте https://v4f.js.org для получения более подробной информации

import {Field, Schema} from "v4f";

export Schema({
  username: Field()
    .alpha()
    .min(1)
    .required(),
  password: Field()
    .min(8)
    .required()
});
0 голосов
/ 03 февраля 2019

1 опечатка и 1 логическая ошибка.

Попробуйте password.length < 8

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...