2012-10-30 11 views
5

Come si limita il testo di input in una casella di testo del modulo Web solo caratteri cirillici?Solo testo di testo in cirillico

+0

Quali sono i caratteri cirillici – polin

+2

@polin абвгдеёжзийклмнопрстуфхцчшщьыъэюя – VisioN

risposta

5

In primo luogo, è necessario utilizzare la codifica che supporta i caratteri cirillici (ad esempio UTF-8) sia per la pagina che per gli script. Quindi, è possibile utilizzare espressioni regolari per controllare:

$("input").keyup(function() { 
    this.value = this.value.replace(/[^а-яё]/i, ""); 
});​ 

DEMO:http://jsfiddle.net/CSjkP/

+0

mi piacerebbe stare lontano da intervalli per tutto ciò che non è latino. In questo particolare esempio hai appena escluso "ё" dalle lettere corrette. –

+0

@ OlegV.Volkov Grazie per 'Ё', l'ho saltato. Per quanto riguarda gli intervalli, l'intervallo di caratteri rappresenta l'intervallo sottostante dei valori della tabella di codifica, in cui l'alfabeto va sempre come va. Il carattere 'Ё' è un segno aggiuntivo, che può essere aggiunto manualmente. – VisioN

+0

Questo funziona, naturalmente, ma non aiuta quando l'utente "copia-> passato" testo o premuto e tenere premuto un tasto. – SGh

3

Utilizzare uno dei tanti validatori forma JS disponibili (una semplice ricerca si arriva dozzina) con espressione regolare che corrisponde solo in cirillico:

/^[абвгдеёжзийклмнопрстуфхцчшщьыъэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯ]*$/ 

Forse si vorrebbe anche aggiungere spazio o numeri lì.

2
$("input").keypress(function(e) { 
    var verified = String.fromCharCode(e.which).match(/[a-zA-Z-]/); 
    if (verified) { 
    e.preventDefault(); 
    } 
}); 

Demo: http://jsfiddle.net/fejkmzp1/1/

Problemi correlati