Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.10.2018, 11:54
Интересующийся
Отправить личное сообщение для LocoThatCould Посмотреть профиль Найти все сообщения от LocoThatCould
 
Регистрация: 05.10.2018
Сообщений: 27

Валидация формы
[JS]function validate() {
var userEmail = document.getElementById("username");
var userPas = document.getElementById("pas");

var regexp = new RegExp("^([a-z0-9_-]+\.)*[a-z0-9_-]+@[a-z0-9_-]+(\.[a-z0-9_-]+)*\.[a-z]{2,6}$");


if(userEmail.value != regexp) {
userEmail.style.border = "2px solid red";
return false;
}

if(userPas.value = "") {
userPas.style.border = "2px solid red";
return false;
}


return true;

}[JS]
Ответить с цитированием
  #2 (permalink)  
Старый 05.10.2018, 12:29
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,706

regexp.test(userEmail.value)

[/JS]
Ответить с цитированием
  #3 (permalink)  
Старый 05.10.2018, 13:22
Интересующийся
Отправить личное сообщение для LocoThatCould Посмотреть профиль Найти все сообщения от LocoThatCould
 
Регистрация: 05.10.2018
Сообщений: 27

Переделал, но не работает
function validate() {

		var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
		var regP = /(?=.*[0-9])(?=.*[!@#$%^&*])(?=.*[a-z])(?=.*[A-Z])[0-9a-zA-Z!@#$%^&*]{6,}/g;
		var emm = $('#username').val();
		var pass = $('#pas').val();

		if(reg.test(emm)){
			return true;
		}
		else{
			$('#username').css('border','2px solid red');
			return false;
		}

		if(regP.test(pass)){
			return true;
		}
		else{
			$('#pas').css('border','2px solid red');
			return false;
		}
	}
Ответить с цитированием
  #4 (permalink)  
Старый 05.10.2018, 13:34
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,706

LocoThatCould, что значит "не работает"?
Не работает и не делает то, что вам нужно - разные вещи.

В вашем коде валидация пароля никогда не будет произведена.
Ответить с цитированием
  #5 (permalink)  
Старый 05.10.2018, 13:36
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

<input type='text' id = 'username'>
<button>Тест</button>
<script>
var userEmail = document.getElementById("username");
var regexp = new RegExp("^([a-z0-9_-]+\.)*[a-z0-9_-]+@[a-z0-9_-]+(\.[a-z0-9_-]+)*\.[a-z]{2,6}$");

document.querySelector('button').onclick = function() {
   if(!regexp.test(userEmail.value)) {
       userEmail.style.border = "2px solid red";
   } else {
       userEmail.style.border = "2px solid green";
   }
}
</script>
Ответить с цитированием
  #6 (permalink)  
Старый 05.10.2018, 13:56
Интересующийся
Отправить личное сообщение для LocoThatCould Посмотреть профиль Найти все сообщения от LocoThatCould
 
Регистрация: 05.10.2018
Сообщений: 27

Вообщем нужно чтобы проводилась проверка корректности ввода email, через регулярное выражение, так же с паролем.. Почему пароль никогда не проверится?
Ответить с цитированием
  #7 (permalink)  
Старый 05.10.2018, 13:56
Интересующийся
Отправить личное сообщение для LocoThatCould Посмотреть профиль Найти все сообщения от LocoThatCould
 
Регистрация: 05.10.2018
Сообщений: 27

Код работает не корректно.
Ответить с цитированием
  #8 (permalink)  
Старый 05.10.2018, 14:21
Интересующийся
Отправить личное сообщение для LocoThatCould Посмотреть профиль Найти все сообщения от LocoThatCould
 
Регистрация: 05.10.2018
Сообщений: 27

Email заработал, еще вопрос в событии формы ONSUBMIT обязательно вписывать return для функции? можно об этом тему или инфу?
Ответить с цитированием
  #9 (permalink)  
Старый 05.10.2018, 14:23
Интересующийся
Отправить личное сообщение для LocoThatCould Посмотреть профиль Найти все сообщения от LocoThatCould
 
Регистрация: 05.10.2018
Сообщений: 27

function validate() {

		var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
		var regP = /^[a-zA-Z]$/;;
		var emm = $('#username').val();
		var pass = $('#pas').val();

		if(reg.test(emm)){
			return true;
		}
		else{
			$('#username').css('border','2px solid red');
			return false;
		}

		if(regP.test(pass)){
			alert("Пароль должен содержать минимум 1 цифру,заглавную букву и 1 спец. символ!");
			return false;
		}
		else{
			$('#pas').css('border','2px solid red');
			return false;
		}
	}
Ответить с цитированием
  #10 (permalink)  
Старый 05.10.2018, 14:28
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,706

<input type='text' id = 'username'>
<input type='text' id = 'pas'>
<button>Тест</button>
<script>
document.querySelector('button').onclick = validate;

function validate() {
    const expressions = {
        email: /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/,
        password: /(?=.*[0-9])(?=.*[!@#$%^&*])(?=.*[a-z])(?=.*[A-Z])[0-9a-zA-Z!@#$%^&*]{6,}/g
    };


    return !['username', 'pas'].filter((id, i) => {
        const node = document.getElementById(id);
        const isValid = (node.value.length && expressions[!i ? 'email' : 'password'].test(node.value));

        node.style.borderColor = isValid ? 'green' : 'red';


        return !isValid;
    }).length;
}
</script>

Последний раз редактировалось Nexus, 05.10.2018 в 14:34.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Валидация веб формы giovanni Events/DOM/Window 3 01.09.2017 15:49
AngularJS валидация веб формы giovanni Angular.js 1 28.08.2017 07:07
Валидация формы работает не совсем так Batyabest Events/DOM/Window 12 26.11.2016 02:07
Валидация формы Ваяс Элементы интерфейса 8 11.07.2012 15:20
Валидация формы dmsuslov jQuery 4 05.11.2010 16:12