 
			
				22.06.2016, 17:31
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Новичок на форуме 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 22.06.2016 
					
					
					
						Сообщений: 4
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
			
			 
				Как вывести окно ввода пароля?
			 
			
		
		
		
		У меня есть проблема. В университете дали задание сделать сайт с помощью html, но на одной из страниц этого сайта должен быть пароль формата javascript. Вот с ним и возникли проблемы. Условия пароля таковы: тип пароля текстовый, алгоритм проверки корректности пароля - последняя буква следует после первой, то есть например пароль начинается на а, в середине пароля могут быть абсолютно любые буквы, а оканчиваться он должен на любую букву, которая по алфавиту идет после а, то есть остальные 32 буквы. Помогите 
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось Светлана1996, 24.06.2016 в 19:36.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				24.06.2016, 23:48
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 14.01.2015 
					
					
					
						Сообщений: 12,989
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		> должен быть пароль формата javascript. 
Это университетские кураторы именно так сформулировали задание или это так студенты трактуют?    
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				25.06.2016, 00:31
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Светлана1996, 
 а после буквы я что? 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				25.06.2016, 00:59
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Новичок на форуме 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 22.06.2016 
					
					
					
						Сообщений: 4
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от рони
			 
		
	 | 
 
	
		Светлана1996, 
 а после буквы я что?
	 | 
 
	
 
 это не уточнялось преподавателем. может быть а  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				25.06.2016, 01:05
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Светлана1996, 
 ок но сложно помочь на пустом месте. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				25.06.2016, 01:08
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 14.01.2015 
					
					
					
						Сообщений: 12,989
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от Светлана1996
			
		
	 | 
 
	| 
		это не уточнялось преподавателем.
	 | 
 
	
 
 
Задание по смыслу более чем странное ) 
Пароля в формате js не бывает, у пароля вообще нет никакого формата, можно задать условия. А проверку пароля современные браузеры производят сами.
 
<!DOCTYPE HTML> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<style>
input {
    width: 300px;
    border: 1px solid #ccc;
    border-radius: 3px;
    padding: 5px;
}
input:required:invalid:focus {
    background-color: #FEEBEB
}
input:required:valid:focus {
    background-color: #E1F5D0
}
:focus::-moz-placeholder, :focus:-moz-placeholder {
    color: transparent
}
#error {
    visibility: hidden;
    color: #f00;
    margin-bottom: 8px;
}
</style> 
<script>
//возможность нативной проверки браузером
var ptr = (function() {
    var i = document.createElement('input');
    return 'pattern' in i
}());
function testPass(o) {
    //если браузер с поддержкой HTML5, то проверка ввода средствами браузера
    if(ptr) return;
    //иначе проверяем регулярным выражением
    document.getElementById('error').style.visibility = !new RegExp(o.pattern).test(o.value) ? 'visible' : 'hidden';
} 
</script>     
</head> 
<body>
<div id="error">Ввод некорректного пароля!</div>
<input type="password" 
       required="" 
       pattern="[aA]{1}[zZ]{1}[a-zA-Z]{4,}" 
       placeholder="Длина пароля не менее 6 символов" 
       onkeyup="testPass(this)" 
       autocomplete="off" />
</body> 
</html>
Примечание: если ваш куратор поверит вам, что вы дока в регулярных выражениях, то паттерн можно записать и иначе. 
Пароль чем длиннее тем лучше, чем более разнообразны символы в нем, тем лучше, использовать регистр, это замечательно. Условия же кураторов полнейшая глупость.    
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось laimas, 25.06.2016 в 01:12.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				25.06.2016, 01:13
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 laimas, 
 интересно причём тут регулярные выражения? 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				25.06.2016, 01:26
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 14.01.2015 
					
					
					
						Сообщений: 12,989
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от рони
			
		
	 | 
 
	| 
		интересно причём тут регулярные выражения?
	 | 
 
	
 
 С таким же успехом можно спросить, а при чем тут проверка посимвольно строки?  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				25.06.2016, 02:00
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		laimas, 
 вариант того как я понял задание ... правильные пароли  араб ,  яшКа,  Лайм.  проверка только крайних букв пароля.
 
<!DOCTYPE html>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
   .err:after{
     content: "error";
     color: red;
      margin-left: 6px;
   }
 </style>
  </script>
</head>
<body>
<form id="main" action="http://">
<label for="pas"><input id="pas" name="pas" type="password"></label>
</form>
<script>
window.addEventListener("DOMContentLoaded", function() {
    var form = document.querySelector("#main"),
        pas = form.querySelector("#pas"),
        lab = form.querySelector('[for="pas"]'),
        str = "абвгдежзийклмнопрстуфхцчшщъыьэюя";
    pas.addEventListener("input", function() {
        var val = pas.value,
            first = val.substr(0, 1).toLowerCase(),
            last = val.substr(-1).toLowerCase(),
            i = str.indexOf(first),
            d = str.indexOf(last);
        console.log(first, last);
        if (i == str.length - 1 && !d || i > -1 && i + 1 == d) lab.classList.remove("err");
        else lab.classList.add("err")
    })
});
</script>
</body>
</html>
 
		
	
		
		
		
		
		
		
	
		
			
			
	
			
			
			
			
			
				 
			
			
			
			
			
			
				
			
			
			
		 
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				25.06.2016, 02:04
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 14.01.2015 
					
					
					
						Сообщений: 12,989
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Я вообще не понимаю какое отношение имеет араб , яшКа, Лайм к паролю, это скорее задание о логине, а не пароле тогда. 
 
Само задание просто уже прелесть для перлов. Паттерн можно указать в конфигурации, который легко сменить ничего не меняя в коде, а вот str = "абвгдежзийклмнопрстуфхцч  щъыьэюя"; потребует изменения кода. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 
 
 
 
	 | 
 
 
 |