input решение

kini

Registered
Здравейте.
Искам да попитам, дали е възможно, да забраня всички символи в поле input, а да оставя да работят само буквите и цифрите?

Полето е ясно:
Код:
<input type="text" autocomplete="off" id="Search" name="dom">

Трябва да са забранени всички символи и да не могат да се въвеждат.

Поздрави. :)
 
Добре, вече използвам този скрипт за символите

Код:
<script>
function check(e) {
    var keynum
    var keychar
    var numcheck
    // For Internet Explorer
    if (window.event) {
        keynum = e.keyCode;
    }
    // For Netscape/Firefox/Opera
    else if (e.which) {
        keynum = e.which;
    }
    keychar = String.fromCharCode(keynum);
    //List of special characters you want to restrict
    if (keychar == "'" || keychar == "`" || keychar =="!" || keychar =="@" || keychar =="#" || keychar =="$" ||keychar =="%" || keychar =="^" || keychar =="&" || keychar =="*" || keychar =="(" || keychar ==")" || keychar =="_" || keychar =="+" || keychar =="=" || keychar =="/" || keychar =="~" || keychar =="<" || keychar ==">" || keychar =="." || keychar =="," || keychar ==";" || keychar ==":" || keychar =="|" || keychar =="?" || keychar =="{" || keychar =="}" || keychar =="[" || keychar =="]" || keychar =="¬" || keychar =="£" || keychar =='"' || keychar =="\\") {
        return false;
    } else {
        return true;
    }
}
</script>

Но искам да знам, дали има начин към него да се добави функция, която да зададе минимум на въведените символи от потребителя или трябва да търся друг скрипт... :!:
 
Колегата @joTunkiq ти е дал решението. Вместо този дълъг иф може да ползваш този регулярен израз, който прави точно тези неща които искаш. Това 1,20 ти е от колко до колко символа са разрешени. Не съм тествал дали работи но ще е нещо такова.
Код:
<script> 
function check(e) { 
    var keynum 
    var keychar 
    var numcheck 
    // For Internet Explorer 
    if (window.event) { 
        keynum = e.keyCode; 
    } 
    // For Netscape/Firefox/Opera 
    else if (e.which) { 
        keynum = e.which; 
    } 
    keychar = ^[a-zA-Z][a-zA-Z0-9-_\.]{1,20}$;
    //List of special characters you want to restrict 
    if (keychar == true) { 
        return false; 
    } else { 
        return true; 
    } 
} 
</script>
 
Да прав си, не обърнах внимание. Просто видях че има регулярен израз, който отговаря на условието.
 
Кода, който показах, при мен работи перфектно. Но искам да разбера, как мога да му добавя минимални символи.. :?
 
До сега да беше го направил 20 пъти с hml5 или jquery, но щом искаш да се мъчиш с чист js код, ето така трябва да стане, или нещо такова. Не съм го пробвал. Замести "MOETO_POLE_ID" с ID-то на полето, което искаш да провери и си задай стойност, аз съм задал 10.
[js] .. . .
..

if( (keychar == "'" || keychar == "`" || keychar =="!" || keychar =="@" || keychar =="#" || keychar =="$" ||keychar =="%" || keychar =="^" || keychar =="&" || keychar =="*" || keychar =="(" || keychar ==")" || keychar =="_" || keychar =="+" || keychar =="=" || keychar =="/" || keychar =="~" || keychar =="<" || keychar ==">" || keychar =="." || keychar =="," || keychar ==";" || keychar ==":" || keychar =="|" || keychar =="?" || keychar =="{" || keychar =="}" || keychar =="[" || keychar =="]" || keychar =="¬" || keychar =="£" || keychar =='"' || keychar =="\\") && document.getElementById('MOETO_POLE_ID').value.length > 10)
{
// няма забранените символи и е НАД 10 символа
}
...

..[/js] :idea: :?:
 
joTunkiq каза:
До сега да беше го направил 20 пъти с hml5 или jquery, но щом искаш да се мъчиш с чист js код, ето така трябва да стане, или нещо такова. Не съм го пробвал. Замести "MOETO_POLE_ID" с ID-то на полето, което искаш да провери и си задай стойност, аз съм задал 10.
[js] .. . .
..

if( (keychar == "'" || keychar == "`" || keychar =="!" || keychar =="@" || keychar =="#" || keychar =="$" ||keychar =="%" || keychar =="^" || keychar =="&" || keychar =="*" || keychar =="(" || keychar ==")" || keychar =="_" || keychar =="+" || keychar =="=" || keychar =="/" || keychar =="~" || keychar =="<" || keychar ==">" || keychar =="." || keychar =="," || keychar ==";" || keychar ==":" || keychar =="|" || keychar =="?" || keychar =="{" || keychar =="}" || keychar =="[" || keychar =="]" || keychar =="¬" || keychar =="£" || keychar =='"' || keychar =="\") && document.getElementById('MOETO_POLE_ID').value.length > 10)
{
// няма забранените символи и е НАД 10 символа
}
...

..[/js] :idea: :?:

Не разбирам от js хич.. Но това успях да го наместя и изглежда май не работи.
 
kriss каза:
Много е лошо да blacklist-ваш неща които не искаш когато си казал какво точно искаш.
Ето по-добро решение
https://jsfiddle.net/byowoxv1/

Аз не отрязвам абсолютно нищо. Просто ми се написа, че с нещо си може и толкова. Щом някой пише в този форум, пише защото явно не може да се справи или среща трудности..

Примерът ти не работи. Тъкмо го тествах.. и input формата и всичко е правилно, но не работи.
Скрипта, който показах по горе, работи перфектно и е забранил символите, които съм въвел, но, като не разбирам от js, не знам как да му добавя функция, която да зададе, да минимум въведени символи. :)

ПС. формата, за която искам да направя тези функции е whois script. :)

Поздрави на всички колеги.
 

Горе