Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.05.2009, 00:51
Новичок на форуме
Отправить личное сообщение для arbelon Посмотреть профиль Найти все сообщения от arbelon
 
Регистрация: 14.05.2009
Сообщений: 2

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



<html>
<head>
<script language="JavaScript">
<!-- hide

function check(input) {
var ok = true;

for (var i = 0; i < input.length; i++) {
var chr = input.charAt(i);
var found = false;
for (var j = 1; j < check.length; j++) {
if (chr == check[j]) found = true;
}
if (!found) ok = false;
}

return ok;
}

function test(input) {

if (!check(input, "1", "2", "3", "4",
"5", "6", "7", "8", "9", "0", "/", "-", " ")) {

alert("Input not ok.");
}
else {
alert("Input ok!");
}
}

// -->
</script>
</head>

<body>
<form>
Telephone:
<input type="text" name="telephone" value="">
<input type="button" value="Check"
onClick="test(this.form.telephone.value)">
</form>
</body>
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 14.05.2009, 01:59
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 03.04.2008
Сообщений: 6,245

for (var j = 1; j < check.length; j++) {
if (chr == check[j]) found = true;

меняем на
for (var j = 1; j < arguments.length; j++) {
if (chr == arguments[j]) found = true;

денежная благодарность, утоынения и прочее на ICQ(в профиле).сейчас объяснять выпадлу подробно
Ответить с цитированием
  #3 (permalink)  
Старый 14.05.2009, 23:47
Аспирант
Отправить личное сообщение для 12345c Посмотреть профиль Найти все сообщения от 12345c
 
Регистрация: 01.03.2009
Сообщений: 33

Только зачем так дико сложно?

test=function(x){
alert("Input "+(x.search/[^0-9\/\- ]/)<0?"":"not ")+"ok.");
}
Ответить с цитированием
  #4 (permalink)  
Старый 15.05.2009, 00:07
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Сообщение от 12345c
alert("Input "+(x.search/[^0-9\/\- ]/)<0?"":"not ")+"ok.");
Не хватает скобки.

Сообщение от 12345c
search
Чем test не угодил?
Ответить с цитированием
  #5 (permalink)  
Старый 15.05.2009, 00:14
Аспирант
Отправить личное сообщение для 12345c Посмотреть профиль Найти все сообщения от 12345c
 
Регистрация: 01.03.2009
Сообщений: 33

Да,
test=function(x){
alert("Input "+(x.search(/[^0-9\/\- ]/)<0?"":"not ")+"ok.");
}
Сообщение от Riim Посмотреть сообщение
Чем test не угодил?
Как видим, лишние слова - лишний источник ошибок.

Последний раз редактировалось 12345c, 15.05.2009 в 00:16.
Ответить с цитированием
  #6 (permalink)  
Старый 15.05.2009, 00:41
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Сообщение от 12345c
Как видим, лишние слова - лишний источник ошибок.
Я имел ввиду RegExp#test вместо String#search
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удалении символов из строки strike Общие вопросы Javascript 5 10.04.2012 02:12
Проверка текста на наличие в нем букв zoibana Общие вопросы Javascript 1 03.02.2009 14:48