[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Сравнение строк
NRG
Пытаюсь написать сриптик, который сравнивал бы две строки...

А именно....

Скрипт не дожен допускать к регистрации пользователей, у которых :
1. Логин < 6 символов
2. Логин содержит недопустимые символы.( !@#$%^&*()+=[]\\\';,./{}|\":<>? )
3. логин состоит из одинаковых символов (напр. "аааааа", "111111" , а вот "Аааааа" - уже допускается )

Первые две задачи реализовал...но вот с третьей уже час сижу никак не могу додуматься...
Мож кто-нить хоть идейку подкинет ?

Код
function checkUserlogin()
{
    var userlogin=document.forms['frmRegister'].eUlogin.value;
    //a-z0-9_a-z0-9
    //a-z\d
    var flag=false;
    var iChars = "!@#$%^&*()+=[]\\\';,./{}|\":<>?";
    for (var i = 0; i < userlogin.length; i++)
    {
        if (iChars.indexOf(userlogin.charAt(i)) != -1)
        {
            document.getElementById("userloginresult").innerHTML = "<span style='color:#FFFF00'> Your User Name has special characters. These are not allowed.</span>";
            //document.forms['frmRegister'].elements['eUlogin'].focus();
            flag=true;
            break;
        }
    }
    if(flag==false)
    {
        if (userlogin.length < 6)
        {
            document.getElementById("userloginresult").innerHTML = "<span style='color:#FFFF00'> User Name must contain at least 6 characters!</span>";
        }
        else
        {
            xmlHttp=GetXmlHttpObject()
            if (xmlHttp==null)
            {
                alert ("Browser does not support HTTP Request")
                return
            }
и т.д. ............




Спустя 1 день, 23 часа, 16 минут, 29 секунд (30.12.2007 - 14:24) AKS написал(а):
Цитата(NRG @ 28.12.2007, 18:08) [snapback]31143[/snapback]
...
3. логин состоит из одинаковых символов (напр. "аааааа", "111111" , а вот "Аааааа" - уже допускается )

Первые две задачи реализовал...но вот с третьей уже час сижу никак не могу додуматься...
Мож кто-нить хоть идейку подкинет ?

Вариант:
Код
var str = 'aaaa';

var ch = str.charAt(0);

var re = new RegExp(ch + '{' + str.length + '}');

var result = !re.test(str);

Спустя 1 час, 11 минут, 4 секунды (30.12.2007 - 15:35) vasa_c написал(а):
У меня элегантнее http://pyha.ru/forum/topic/460.msg5296#msg5296 biggrin.gif

Спустя 5 часов, 51 минута, 19 секунд (30.12.2007 - 21:27) AKS написал(а):
Цитата(vasa_c @ 30.12.2007, 18:35) [snapback]31195[/snapback]
У меня элегантнее...

Элегантнее неэлегантного? wink.gif
Оба варианта непригодны для проверки, например, такого пароля: " аааааа" (или так можно?)...


_____________
буду кодить за еду
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.