Javascript-форум (https://javascript.ru/forum/)
-   Работа (https://javascript.ru/forum/job/)
-   -   проверка на наличие определенных символов (https://javascript.ru/forum/job/3675-proverka-na-nalichie-opredelennykh-simvolov.html)

arbelon 14.05.2009 01:51

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



<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>

Gvozd 14.05.2009 02:59

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(в профиле).сейчас объяснять выпадлу подробно

12345c 15.05.2009 00:47

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

test=function(x){
alert("Input "+(x.search/[^0-9\/\- ]/)<0?"":"not ")+"ok.");
}

Riim 15.05.2009 01:07

Цитата:

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

Не хватает скобки.

Цитата:

Сообщение от 12345c
search

Чем test не угодил?

12345c 15.05.2009 01:14

Да,
test=function(x){
alert("Input "+(x.search(/[^0-9\/\- ]/)<0?"":"not ")+"ok.");
}
Цитата:

Сообщение от Riim (Сообщение 19004)
Чем test не угодил?

Как видим, лишние слова - лишний источник ошибок.

Riim 15.05.2009 01:41

Цитата:

Сообщение от 12345c
Как видим, лишние слова - лишний источник ошибок.

Я имел ввиду RegExp#test вместо String#search


Часовой пояс GMT +3, время: 07:42.