В форму регистрацый пользователей ставим следуюший код:
Code
<script src="/js/jquery-1.2.6.js"></script>
<table border="0" cellspacing="1" cellpadding="2" width="100%" class="manTable" id="siM63">
<?if($ERROR$)?>
<tr id="siM1"><td colspan="2" align="center" class="manTdError" id="siM2">$ERROR$</td></tr><tr><td height="10" class="manTdSep" colspan="2"><hr class="manHr" /></td></tr>
<?endif?>
<?if($LOGIN_FL$)?>
<tr id="siM42"><td class="manTd1" width="34%" id="siM43">$LOGIN_SIGN$</td><td class="manTd2" id="siM44">$LOGIN_FL$</td></tr>
<tr><td class="manTd1" width="17%"></td><td class="manTd2"><a href="#" onclick="return false" id="checkLogin" style="font-size:9px"><input style="border: 1px solid rgb(223, 223, 223); background: rgb(255, 255, 255) none repeat scroll 0% 0%; height: 18px; font-family: tahoma; font-size: 11px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(117, 117, 117);" title="Проверить доступность логина для регистрации" return false;" value="Проверить логин" type="button"></a><span id="resaltCheck"></span></td></tr><tr><td height="10" class="manTdSep" colspan="2"></td></tr>
<?endif?>
</td></tr> <tr><td class="manTdSep" colspan="2"><hr class="manHr" /></td></tr>
</script></td></tr><tr></td></tr>
<script type="text/javascript">
var m_strUpperCase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var m_strLowerCase = "abcdefghijklmnopqrstuvwxyz";
var m_strNumber = "0123456789";
var m_strCharacters = "_-"
// Check password
function checkPassword(strPassword)
{
// Reset combination count
var nScore = 0;
// Password length
// -- Less than 4 characters
if (strPassword.length < 5)
{
nScore += 10;
}
// -- 5 to 7 characters
else if (strPassword.length > 4 && strPassword.length < 8)
{
nScore += 20;
}
// -- 8 or more
else if (strPassword.length > 7)
{
nScore += 50;
}
// Letters
var nUpperCount = countContain(strPassword, m_strUpperCase);
var nLowerCount = countContain(strPassword, m_strLowerCase);
var nLowerUpperCount = nUpperCount + nLowerCount;
// -- Letters are all lower case
if (nUpperCount == 0 && nLowerCount != 0)
{
nScore += 20;
}
// -- Letters are upper case and lower case
else if (nUpperCount != 0 && nLowerCount != 0)
{
nScore += 40;
}
// Numbers
var nNumberCount = countContain(strPassword, m_strNumber);
// -- 1 number
if (nNumberCount == 1)
{
nScore += 20;
}
// -- 3 or more numbers
if (nNumberCount >= 3)
{
nScore += 40;
}
// Characters
var nCharacterCount = countContain(strPassword, m_strCharacters);
// -- 1 character
if (nCharacterCount == 1)
{
nScore += 20;
}
// -- More than 1 character
if (nCharacterCount > 1)
{
nScore += 50;
}
// Bonus
// -- Letters and numbers
if (nNumberCount != 0 && nLowerUpperCount != 0)
{
nScore += 4;
}
// -- Letters, numbers, and characters
if (nNumberCount != 0 && nLowerUpperCount != 0 && nCharacterCount != 0)
{
nScore += 6;
}
// -- Mixed case letters, numbers, and characters
if (nNumberCount != 0 && nUpperCount != 0 && nLowerCount != 0 && nCharacterCount != 0)
{
nScore += 10;
}
return nScore;
}
// Runs password through check and then updates GUI
function runPassword(strPassword, strFieldID)
{
// Check password
var nScore = checkPassword(strPassword);
// Get controls
var ctlBar = document.getElementById(strFieldID + "_bar");
var ctlText = document.getElementById(strFieldID + "_text");
if (!ctlBar || !ctlText)
return;
// Set new width
ctlBar.style.width = nScore + "%";
// Color and text
// -- Безупречный
if (nScore >= 45)
{
var strText = "Отличный пароль!";
var strColor = "#0ca908";
}
// -- Хороший
else if (nScore >= 40)
{
var strText = "Хороший";
var strColor = "#00CCFF";
}
// -- Довольно нормальный
else if (nScore >= 35)
{
var strText = "Достаточно неплохо";
var strColor = "#5a74e3";
}
// -- Нормальный
else if (nScore >= 30)
{
var strText = "Нормально";
var strColor = "#FF6600";
}
// -- Слабый
else if (nScore >= 20)
{
var strText = "Слабенько";
var strColor = "#e7d61a";
}
// -- Очень плохой
else
{
var strText = "Ужас. qwerty и то лучше";
var strColor = "#e71a1a";
}
ctlBar.style.backgroundColor = strColor;
ctlText.innerHTML = "<span style='color: " + strColor + ";'>" + strText + "</span>";
}
// Checks a string for a list of characters
function countContain(strPassword, strCheck)
{
// Declare variables
var nCount = 0;
for (i = 0; i < strPassword.length; i++)
{
if (strCheck.indexOf(strPassword.charAt(i)) > -1)
{
nCount++;
}
}
return nCount;
}
</script>
<?if($PASSWORD_FL$)?>
<?endif?>
<?if($PASSWORD1_FL$)?>
<?endif?>
<table class="manTable" id="siM63" width="100%" border="0" cellpadding="2" cellspacing="1">
<tbody>
<tr id="siM45"><td class="manTd1" id="siM46">$PASSWORD_SIGN$</td><td class="manTd2" id="siM47"><input id="siF14" class="manFlPassw" name="password" size="20" style="width: 100%; font-weight: 500; font-style: normal; color: rgb(0, 0, 0);" maxlength="15" onkeyup="runPassword(this.value, 'mypassword');" type="password"></td></tr>
<tr id="siM48"><td class="manTd1" id="siM49">$PASSWORD1_SIGN$</td><td class="manTd2" id="siM50">$PASSWORD1_FL$
<script>
Chars = new Array ()
for (j = 65; j <=122; j++){
if ((j < 91) || (j > 96)) {
Chars[Chars.length] = String.fromCharCode(j);
}
}
function GenerateRandomPassword(){
PassLength = 10 + Math.round(5 * Math.random());
Pass = ''
for (i = 0; i < PassLength; i++){
ChIndex = Math.round(Chars.length * Math.random()) - 1;
if ((Chars[ChIndex]) && (Pass.length < 15)) {
Pass += Chars[ChIndex];
}
}
return Pass;
}
function NewPass(){
NewRandPass = GenerateRandomPassword();
$('#siF14, #siF15').attr('value', NewRandPass);
$('#RandPass').hide('fast').html('Ваш пароль <b>' + NewRandPass + '</b><br><a href="javascript://" style="font-size: 9px; " onclick="NewPass()"><input style="border: 1px solid rgb(223, 223, 223); background: rgb(255, 255, 255) none repeat scroll 0% 0%; height: 18px; font-family: tahoma; font-size: 11px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(117, 117, 117);" title="Сгенерировать новый пароль для регистрации" return false;" value="Сгенерировать новый пароль" type="button"></a>').show('slow');
}
</script>
<div id="RandPass">
<a href="javascript://" style="font-size: 9px; " onclick="NewPass()"><input style="border: 1px solid rgb(223, 223, 223); background: rgb(255, 255, 255) none repeat scroll 0% 0%; height: 18px; font-family: tahoma; font-size: 11px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(117, 117, 117);" title="Сгенерировать случайный пароль для регистрации (Рекомендую)" return false;" value="Сгенерировать случайный пароль (Рекомендую)" type="button"></a>
</div>
</td></tr>
<?if($GROUP_FL$)?>
<tr id="siM70"><td class="manTd1" id="siM71">$GROUP_SIGN$</td><td class="manTd2" id="siM72">$GROUP_FL$</td></tr><tr><td height="10" class="manTdSep" colspan="2"><hr class="manHr" /></td></tr>
<?endif?>
<?if($NAME_FL$)?>
<tr id="siM51"><td class="manTd1" id="siM52">$NAME_SIGN$</td><td class="manTd2" id="siM53">$NAME_FL$</td></tr><tr><td height="10" class="manTdSep" colspan="2"><hr class="manHr" /></td></tr>
<?endif?>
<?if($EMAIL_FL$)?>
<tr id="siM54"><td class="manTd1" id="siM55">$EMAIL_SIGN$</td><td class="manTd2" id="siM56">$EMAIL_FL$</td></tr><tr><td height="10" class="manTdSep" colspan="2"><hr class="manHr" /></td></tr>
<?endif?>
<?if($WWW_FL$)?>
<tr id="siM3"><td class="manTd1" id="siM4">$WWW_SIGN$</td><td class="manTd2" id="siM5">$WWW_FL$</td></tr><tr><td height="10" class="manTdSep" colspan="2"><hr class="manHr" /></td></tr>
<?endif?>
<?if($ICQ_FL$)?>
<tr id="siM6"><td class="manTd1" id="siM7">$ICQ_SIGN$</td><td class="manTd2" id="siM8">$ICQ_FL$</td></tr><tr><td height="10" class="manTdSep" colspan="2"><hr class="manHr" /></td></tr>
<?endif?>
<?if($AOL_FL$)?>
<tr id="siM9"><td class="manTd1" id="siM10">$AOL_SIGN$</td><td class="manTd2" id="siM11">$AOL_FL$</td></tr><tr><td height="10" class="manTdSep" colspan="2"><hr class="manHr" /></td></tr>
<?endif?>
<?if($MSN_FL$)?>
<tr id="siM12"><td class="manTd1" id="siM13">$MSN_SIGN$</td><td class="manTd2" id="siM14">$MSN_FL$</td></tr><tr><td height="10" class="manTdSep" colspan="2"><hr class="manHr" /></td></tr>
<?endif?>
<?if($YAHOO_FL$)?>
<tr id="siM15"><td class="manTd1" id="siM16">$YAHOO_SIGN$</td><td class="manTd2" id="siM17">$YAHOO_FL$</td></tr><tr><td height="10" class="manTdSep" colspan="2"><hr class="manHr" /></td></tr>
<?endif?>
<?if($BIRTHDAY_FL$)?>
<tr id="siM30"><td class="manTd1" id="siM31">$BIRTHDAY_SIGN$</td><td class="manTd2" id="siM32">$BIRTHDAY_FL$</td></tr><tr><td height="10" class="manTdSep" colspan="2"><hr class="manHr" /></td></tr>
<?endif?>
<?if($GENDER_FL$)?>
<tr id="siM27"><td class="manTd1" id="siM28">$GENDER_SIGN$</td><td class="manTd2" id="siM29">$GENDER_FL$</td></tr><tr><td height="10" class="manTdSep" colspan="2"><hr class="manHr" /></td></tr>
<?endif?>
<?if($COUNTRY_FL$)?>
<tr id="siM18"><td class="manTd1" id="siM19">$COUNTRY_SIGN$</td><td class="manTd2" id="siM20">$COUNTRY_FL$</td></tr><tr><td height="10" class="manTdSep" colspan="2"><hr class="manHr" /></td></tr>
<?endif?>
<?if($STATE_FL$)?>
<tr id="siM21"><td class="manTd1" id="siM22">$STATE_SIGN$</td><td class="manTd2" id="siM23">$STATE_FL$</td></tr><tr><td height="10" class="manTdSep" colspan="2"><hr class="manHr" /></td></tr>
<?endif?>
<?if($CITY_FL$)?>
<tr id="siM24"><td class="manTd1" id="siM25">$CITY_SIGN$</td><td class="manTd2" id="siM26">$CITY_FL$</td></tr><tr><td height="10" class="manTdSep" colspan="2"><hr class="manHr" /></td></tr>
<?endif?>
<?if($AVATAR_FL$)?>
<tr id="siM36"><td class="manTd1" valign="top" id="siM37">$AVATAR_SIGN$</td><td class="manTd2" id="siM38">$AVATAR_FL$</td></tr><tr><td height="10" class="manTdSep" colspan="2"><hr class="manHr" /></td></tr>
<?endif?>
<?if($SIGNATURE_FL$)?>
<tr id="siM33"><td class="manTd1" id="siM34">$SIGNATURE_SIGN$</td><td class="manTd2" id="siM35">$SIGNATURE_FL$</td></tr><tr><td height="10" class="manTdSep" colspan="2"><hr class="manHr" /></td></tr>
<?endif?>
<?if($SUBSCRIPTION_FL$)?>
<tr id="siM39"><td class="manTd1" id="siM40">$SUBSCRIPTION_SIGN$</td><td class="manTd2" id="siM41">$SUBSCRIPTION_FL$</td></tr><tr><td height="10" class="manTdSep" colspan="2"><hr class="manHr" /></td></tr>
<?endif?>
<?if($OPTIONS_FL$)?>
<tr id="siM63"><td class="manTd1" id="siM64">$OPTIONS_SIGN$</td><td class="manTd2" id="siM65">$OPTIONS_FL$</td></tr><tr><td height="10" class="manTdSep" colspan="2"><hr class="manHr" /></td></tr>
<?endif?>
<?if($SECURITY_CODE_FL$)?>
<tr id="siM60"><td class="manTd1" id="siM61">$SECURITY_CODE_SIGN$</td><td class="manTd2" id="siM62">$SECURITY_CODE_FL$</td></tr><tr><td height="10" class="manTdSep" colspan="2"><hr class="manHr" /></td></tr>
<?endif?>
<tr id="siM64"><td class="manTdBut" colspan="2" align="center" id="siM65"><input class="manFlSbm" id="siF20" type="submit" name="sbm" value="$SUBMIT_SIGN$" /></td></tr>
</table>
<script type="text/javascript">
$(document).ready(function(){
//Copyright © http://calarashisoft.ucoz.ru
$("#checkLogin").click(function(){
var l = $("#siF13").val();
if (l.match(/^\s*$/)){$("#resaltCheck").html(" — Логин не введен").css("color","red");return false;}
if (l.match(/^[0-9]*$/)){$("#resaltCheck").html(" — Логин не должен состоять только из цифр").css("color","red");return false;}
$("#resaltCheck").html(" — Проверка...").css("color","grey");
$.get('/index/8-0-'+l, function(data){
if(data=='Пользователь не найден'){$("#resaltCheck").html(" — Логин свободен!").css("color","green");}
else {$("#resaltCheck").html(" — Логин уже используется!").css("color","red");}
});
});
});
</script>