Я хочу создать регистрационную форму, но скрипт не работает так, как я хочу

Чтобы проверить контрольную точку, форма должна показать предупреждение, если

  • Один из входов пуст
  • В пароле меньше 8 символов.
  • Нет действующего адреса электронной почты
  • Пароль должен состоять из символов, цифр и хотя бы заглавной буквы.
  • И, наконец, кнопка сброса сбросит все входы на пустые:

    //Variable declaration
    
    var username=document.forms["Registration"]["name"];
    var e_mail=document.forms["Registration"]["email"];
    var password=document.forms["Registration"]["psw1"];
    var passwordcheck=document.forms["Registration"]["psw2"];
    
    //add eventListener
    username.addEventListener("blur", NameVerify, true);
    e_mail.addEventListener("blur", EmailVerify, true);
    password.addEventListener("blur", PasswordVerify, true);
    passwordcheck.addEventListener("blur", PasswordVerify, true);
    
    // validate the registration   
    function Validate(){
        if (username.value= = "")
        {
            alert("username is required");
            username.focus()
            return false;
        }
        if (e_mail.value= = "")
        { 
           alert("Email is required");
           e_mail.focus()
           return false;
        }
        if (password.value= = "")
        {
           alert("Password is required");
           password.focus()
           return false;
        }
        if (passwordcheck.value= = "")
        {    
           alert("Re-enter your password");
           passwordcheck.focus()
           return false;
        }
        if (password.value != passwordcheck.value){
          alert("Password do not match!!")
          passwordcheck.focus()
          return false;
        }
    }
    
    //check the username value
    function NameVerify(username){
        if (username.value !=0) {
            document.querySelector.backgroundColor = lightGrey;
            return true;
        }
    }
    
    //check the e_mail
    function EmailVerify(e_mail){          
        if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.`\w{2,3})+$/.test(Registration.email.value))`
        {
             return (true)
        }
        alert("You have entered an invalid email address!")
        e_mail.focus()
        return (false)
    }
    
    //check the password
    function PasswordVerify(password){
        var psw = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9])(?!.*\s).{8,20}$/;
    
        if (password.value.match(psw)) 
        { 
             alert('Correct, try another...')
             return true;
        }
        else
        { 
             alert('Wrong!!')
             return false;
        }        
    }
    
    // clear all text inputs when the page is loaded
    function clearInp() {
        document.getElementsByTagName("input").value = "";
        return true;
    }
    
    //reset all text fields
    function Reset() {
        document.querySelector("#Registration").reset();
        return true;
    }
    

Что именно не работает с вашим кодом?

EGOrecords 31.10.2018 19:04

Проверка пароля не работает

mohamed yahyaoui 31.10.2018 20:41
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
2
52
1

Ответы 1

Ничего из этого не требует никакого JavaScript.

  • Один из входов пуст
<input type = "text" required />
  • В пароле меньше 8 символов.
<input type = "password" minlength = "8" />
  • Нет действующего адреса электронной почты
<input type = "email" />
  • Пароль должен состоять из символов, цифр и хотя бы заглавной буквы.
<input type = "password" pattern = "(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9]).{8,}" />
  • И, наконец, кнопка сброса сбросит все входы на пустые
<input type = "reset" value = "Reset form" />

После того, как вы удалите весь код JavaScript из формы, вы обнаружите, что в вашей форме больше нет ошибок JavaScript;)

да, я знаю, но я хочу проводить все проверки с помощью JS

mohamed yahyaoui 01.11.2018 09:16

Почему? Зачем тебе это нужно?

Niet the Dark Absol 01.11.2018 12:24

моя задача - создать регистрационную форму с помощью JavaScript

mohamed yahyaoui 02.11.2018 18:06

«Задача» не должна указывать вам, как это делать. «Задача» должна быть чем-то вроде создания регистрационной формы. Как именно будет построена эта форма, зависит от вас, разработчика. Это ваша работа как разработчика - выяснять детали. Это не работа того, кто назначил задачу, требовать, чтобы она выполнялась на JavaScript, особенно когда JS объективно является «неправильным» способом ее выполнения.

Niet the Dark Absol 02.11.2018 18:08

Другие вопросы по теме