2015-08-17 3 views
-1

Im пытается завершить задание; вот что Im застрял на:Как проверить строку без Reg ex - Javascript

вход пользователя может содержать только следующие разрешенные символы

  • алфавитных символов в нижнем регистре (AZ) в верхнем регистре (AZ)
  • апостроф (')
  • дефис (-)
  • Должно быть, по крайней мере, 1 буквенные символы (AZ) (AZ)

Примечание: Вы ча Не используйте Reg Ex.

Я не могу видеть другой способ сделать это без использования Reg Ex; Вот то, что я сделал до сих пор ...

function validate_name() { 
    var name = document.getElementById("name").value; 
    name = name.trim(); 
    for (i = 0;i < name.lenght; i++) { 
     if (name.charAt(i) == a...I don't know what I'm doing 
+0

Любая конкретная причина, почему RegEx не может быть использована? –

ответ

1

Вы можете сделать что-то подобное:

var str = prompt('Enter input:'); 
var alphaExist = false; 
var valid = true; 
for (var i = 0; i < str.length; i++) { 
    if ("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'-".indexOf(str.charAt(i)) == -1) { 
     valid = false; 
    } 
    if ("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".indexOf(str.charAt(i)) > -1) { 
     alphaExist = true; 
    } 
} 
alert(valid && alphaExist ? 'Valid' : 'Invalid'); 

http://jsfiddle.net/4wwod65h/

0

Посмотрите на список скан-коду по адресу: http://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes

Не используйте

document.getElementById("name").value; 

Вместо разбора события, спровоцированные нажатий клавиш. У вас есть хороший пример того, как использовать это на MDN странице:. https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode

Так объединить список группы клавиш и события клавиатуры для фильтрации кодов клавиш вы заинтересованы в

Подсказка: Вы можете использовать диапазон в виде кодовых клавиш - это набор чисел.

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