Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Код на орграничение символов не работает (https://javascript.ru/forum/misc/42942-kod-na-orgranichenie-simvolov-ne-rabotaet.html)

Apelcun77 14.11.2013 18:58

Код на орграничение символов не работает
 
Уже 2 день пишу код на ограничение символов через создание массива, не уверен что иду самым удобьным путем но все же:
var check_alpha_time = setInterval(check_alpha, 1000);
function check_alpha() {
var alpha = new Array("a", "b", "c", "d", "i");
    costs = -1;
	i = -1;
    str = document.feedback.firstname.value; 
if (document.feedback.firstname.value.length >= 1) {
for (iter = 0; iter < document.feedback.firstname.value.length; iter++) {
var costs = costs + 1;
    s_costs = String(str.charAt(costs));
	for (a = 0; a < alpha.length; a++) {
	var i = i + 1;
	if (s_costs == alpha[i]) {
	document.all.item("firstname_check").innerHTML = "+";
	}
	}
	if (s_costs != alpha[i]) {
    document.all.item("firstname_check").innerHTML = "Некорректныe символы";
	}
	}
    }
}


И есть текстовое поле

<input type="text" name="firstname">
<p id="firstname_check">

Вот только что-то он не работает, хотя в моей голове все правильно, я и пытался на листики все эти операции проделывал с разными словами при вводе.Но вот в js что-то не получается, подскажите пожалуйста что исправить или добавить

jsru_ 14.11.2013 19:13

то есть ты пытаешься ограничить символы, которые могут вводить пользователи? Не пробовал использовать регулярные выражения?

ruslan_mart 14.11.2013 19:55

http://learn.javascript.ru/play/2M7gvc

Rise 14.11.2013 20:59

Применяй регулярные выражения...
<input id="firstname" type="text" name="firstname" value="">
<script>
firstname.oninput = function() {
	var str = this.value;
	firstname.value = str.replace(/([^abcdi])/g, '');
}
</script>

Apelcun77 14.11.2013 21:36

Дело что я новичок, спасибо всем, выучяу регулярные

Deff 15.11.2013 02:35

Цитата:

Сообщение от Apelcun77
Дело что я новичок, спасибо всем, выучяу регулярные

var str = 'ashljsdbf.dsn/mdfmg/dflmg;dfjgd/fjg/jdf/gjdfgj;dfjgjdf;jf'
var str_OGR = str.substr(0,6);
alert(['str='+str,'\nstr_OGR='+str_OGR])


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