|
Moderator - Level 7
Регистрация: 05.11.2007
Сообщений: 894
Провел на форуме: 5609275
Репутация:
1474
|
|
вот функция генератора пароля
Код:
<script type="text/javascript">
function getrandom() {
var A = new Array("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","Y","Z") ;
var b = new Array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","y","z") ;
var dig = new Array("0","1","2","3","4","5","6","7","8","9") ;
var m = new Array(); //итоговоый массив из которого будут браться символы
var count = eval(document.forms[0].elements['count'].value);
var pass="" ;
var r,i=0;
if (count=="") {alert('Введите длину пароля!') ; exit();} //если поле пустое алерт
else if (count>30) {alert('Введите число меньше 31') ; exit();}
else //длину пароля проверили идем дальше
if( document.getElementById("1").checked){m = m.concat(A);} //проверяем какие чекбоксы отметили
if (document.getElementById("2").checked){ m = m.concat(b);}
if (document.getElementById("3").checked){ m = m.concat(dig);}
if (m==0) {alert('отметьте какие символы использовать') ; exit();} //если чекбоксы не отмечены алерт и ехит
else {
while (i<count)
{ pass += m[Math.floor(Math.random() * m.length)] ; //рандомим пароль
i++;
}
}
document.getElementById('qqq').innerHTML =pass; //выводим пароль в нужное поле
} //end fuction
</script>
если отметить все поля как надо то функция работает. проблемы с алертами и ехитами.
например если при ВСЕХ пустых полях нажать кнопку генерировать то аллерт
if (count=="") {alert('Введите длину пароля!') ; exit();} не выскакивает (а пока функцию до конца не дописал выскакивал  )
а сейчас сразу выскакивает вот этот алерт
if (m==0) {alert('отметьте какие символы использовать') ; exit();} и нажимаю кнопку ок выводит сообшение ошибка сценария предполагается наличия объекта (указывает на ; (вот это место) exit()) и точно такая же ошибка сценария если указал большую длину пароля(только указвает на строчку к совему алерту).
что я не так делаю с алертами? почему первый пропускает, а на следующие выдает ошибку сценария?
вот на всякий случай целиком страничка
Код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251">
<meta name="generator" content="PSPad editor, www.pspad.com">
<title>
</title>
<style type="text/css"> body{ background-color: grey; font-family: Arial,Helvetica,sans-serif color: white; } TABLE { color: white;} td { border:white solid 1px cellspacing="0" } h1 {color:goldenrod }
</style>
<script type="text/javascript">
function getrandom() {
var A = new Array("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","Y","Z") ;
var b = new Array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","y","z") ;
var dig = new Array("0","1","2","3","4","5","6","7","8","9") ;
var m = new Array();
var count = eval(document.forms[0].elements['count'].value);
var pass="" ;
var r,i=0;
if (count=="") {alert('Введите длину пароля!') ; exit();} //если поле пустое алерт
else if (count>30) {alert('Введите число меньше 31') ; exit();}
else //длину пароля проверили идем дальше
if( document.getElementById("1").checked){m = m.concat(A);} //проверяем какие чекбоксы отметили
if (document.getElementById("2").checked){ m = m.concat(b);}
if (document.getElementById("3").checked){ m = m.concat(dig);}
if (m==0) {alert('отметьте какие символы использовать') ; exit();} //если чекбоксы не отмечены алерт и ехит
else {
while (i<count)
{ pass += m[Math.floor(Math.random() * m.length)] ; //рандомим пароль
i++;
}
}
document.getElementById('qqq').innerHTML =pass; //выводим пароль в нужное поле
} //end fuction
</script>
</head>
<body>
<tr>
<td colspan="2" >
<h1 align="center" ><b>Генератор пароля </b> </h1> </td>
</tr>
<form>
<table width="300" align="center" border="1" bgcolor="DarkRed" cellpadding="10" cellspacing="0" >
<tbody>
<tr>
<td width='75%' align="right">Количество символов:</td>
<td >
<input name="count" size="5" type="text" maxlength="2" > </td>
</tr>
<tr>
<td align="right"> A-Z</td> <td>
<input name="hi" type="checkbox" id="1">
<br> </td>
</tr>
<tr>
<td align="right"> a-z</td> <td>
<input name="slow" type="checkbox" id="2">
<br> </td>
</tr>
<tr>
<td align="right"> 0-9</td> <td>
<input name="num" type="checkbox" id="3">
<br> </td>
</tr>
<tr>
<td colspan="2" align="right">
<input value="Сброс" type="reset">
<input value="Генерировать" type="button" name="generate" onClick="getrandom();"> </td>
</tr>
</tbody>
</table>
<br>
<br>
<table width="300" align="center" border="1" bgcolor="DarkRed" cellpadding="10" cellspacing="0" >
<tbody>
<tr>
<td height="80px" solid=5px colspan="2" align="center" >
<p id="qqq">Результат
</p></td>
</tr>
</tbody>
</table>
</form>
</body>
</html>
Последний раз редактировалось оlbaneс; 31.03.2010 в 16:10..
|