2014-01-14 10 views
0

Привет, ребята, у меня проблема, как я могу проверить поле пароля, которое должно содержать хотя бы один числовой символ. Мне не разрешено использовать регулярное выражение/регулярное выражение. я пробовал искать по сети, но решение всегда заканчивается регулярным выражением.текстовое поле должно содержать проверку числа или буквы на javascript без регулярного выражения

вот мой код, который я стараюсь

function validateIn() 
{ 
var pass=document.getElementById('password').value; 
for(var i=0;i<pass.length;i++) 
{ 
    if(isNaN(pass.charAt(i))==false) 
    { 
     return true; 
     break; 
    } 
    else 
    { 
     return false; 
    } 
} 
} 

я попробовал этот путь, но я не в состоянии, может у помочь мне, ребята? благодаря, прежде чем

+0

Почему вам не разрешено использовать регулярное выражение? Это асин. –

+0

yah мой учитель сказал, что это для того, чтобы научить, как мы думаем об основном решении проблем, позже он сказал, что научил нас использовать регулярное выражение. – user2978983

+0

Все, что вам нужно, чтобы исправить ваш код, - это переместить 'return false' за пределы цикла. Вы должны только возвращать false * после *, вы проверили все символы в своей строке и не нашли цифр. –

ответ

1

Один из возможных подходов:

function validateIn() { 
    var pass = document.getElementById('password').value, 
     p = pass.length, 
     ch = ''; 

    while (p--) { 
    ch = pass.charAt(p); 
    if (ch >= '0' && ch <= '9') { 
     return true; // we have found a digit here 
    } 
    } 
    return false; // the loop is done, yet we didn't find any digit 
} 

Дело в том, вы не должны return сразу после того, как вы нашли нормальный характер (как вы в основном ищете одну цифру) - вам просто нужно продолжить проверку.

Обратите внимание, что я прошел без isNaN, так как он немного неэффективен: требуется только проверка диапазона.

+0

спасибо человеку !!! это хорошо работает !!! вы научите меня, как решить такую ​​проблему :) – user2978983

+0

Вы не используете isNaN; в соответствии с https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/isNaN, он также соответствует пробелу и считается «сломанным». –

Смежные вопросы