powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Проверка: в строке только русские буквы
16 сообщений из 16, страница 1 из 1
Проверка: в строке только русские буквы
    #34479817
Alex_BBB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как на JavaScript сделать проверку, что в строке только русские буквы?

Код: plaintext
alert ((/[а-я]+/.test(str)));
Не работает.

Спасибо.
...
Рейтинг: 0 / 0
Проверка: в строке только русские буквы
    #34481524
Alex_BBB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделал. получилось даже кручем было задумано.

Написал функцию, используя которую можно проверять введенные символы "налету", некоторое подобие масок в C++.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
function operatedInput(inputID){
	document.getElementById(inputID).onkeypress = check;

	function check(e){
		var evt = (e) ? e : window.event;
		var code = (document.all) ? evt.keyCode:evt.charCode;
		if ((code <  1040 ) || (code >  1103 )) return false;
	}
}

operatedInput('input1');

В поле ввода с ID="input1" невозможно ввести не русскую букву.(конечно при условии что включен JavaScript)

Работает в IE, FF и Opera (в других не проверял)
...
Рейтинг: 0 / 0
Проверка: в строке только русские буквы
    #34482138
LINUXER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
copy-paste - вставит что угодно
...
Рейтинг: 0 / 0
Проверка: в строке только русские буквы
    #34482503
Alex_BBB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин, об этом я не подумал.
Может есть идеи?

И как все-таки с помощью регулярного выражения проверить, что в строке только русские буквы?
...
Рейтинг: 0 / 0
Проверка: в строке только русские буквы
    #34482839
ValzoID
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alex_BBBИ как все-таки с помощью регулярного выражения проверить, что в строке только русские буквы?

Мне тоже стало интересно. Ничего лучше пока не придумал:
Код: plaintext
1.
2.
3.
4.
5.
if (!/[a-z]+/.test(str)) {
    if (/[а-я]+/.test(str)) {
        document.write(str);
    }
}
...
Рейтинг: 0 / 0
Проверка: в строке только русские буквы
    #34482853
PhoenixNET
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alex_BBBБлин, об этом я не подумал.
Может есть идеи?
Проверять onBlur на input'е, onClick на баттоне, если есть. Короче не пускать с формы, пока не будут введены только русские буквы
...
Рейтинг: 0 / 0
Проверка: в строке только русские буквы
    #34482913
@RuSHA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PhoenixNET Alex_BBBБлин, об этом я не подумал.
Может есть идеи?
Проверять onBlur на input'е, onClick на баттоне, если есть. Короче не пускать с формы, пока не будут введены только русские буквы
Аха... ещё в body поставить проверку при onMouseMove
...
Рейтинг: 0 / 0
Проверка: в строке только русские буквы
    #34482933
Alex_BBB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to ValzoID , спасибо!

to ALL
В предыдущей функции, нельзя было стерать введенные значения (клавиша Backspace), в новой версии operatedInput это исправлено. Вот предлагаю такие зачатки системы проверки:

Пример использования:
На странице:
<input name="Name" type="text" value="" id="mask">

Вот так проверять:
operatedInput('mask');

В CSS:
.text_error{
border: 1px solid #FF0000;
}

Если в поле с id="mask" вводить не руский сомвол, то
- он не введется
- поле ввода с id="mask" выделится красной рамкой
- под полем возникнет подсказка, что вводить можно только русские буквы
При вводе верного символа (любая руская буква) выделение красной рамкой уберается, подсказка исчезает.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
function unmark2(elementID){
	document.getElementById(elementID).className='';
	var boxID = 'err_'+elementID;
	var box = document.getElementById(boxID);
	box.parentNode.removeChild(box);
}

function mark2(elementID, HTMLtex){
	var target = document.getElementById(elementID);
	var boxID = 'err_'+elementID;
	if (document.getElementById(boxID) != null) unmark2(elementID);
	target.className='text_error';
	target.insertAdjacentHTML('afterEnd', '<span id='+boxID+'><br/>'+HTMLtex+ '</span>');
}


function operatedInput(inputID){
	var input = document.getElementById(inputID);
	input.onkeypress = check;
	function check(e){
		var evt = (e) ? e : window.event;
		var code = (document.all) ? evt.keyCode:evt.charCode;
		if (code ==  0 ){return true;}
		if ((code <  1040 ) || (code >  1103 )){
			mark2(inputID,'только кирилица');
			return false;
		}
		else{unmark2(inputID);}
	}
}

Вообще есть идея сделать маскированный ввод. Это очень удобно для ввода номеров телефона, паспортов и т.п. информации.

Есть идей? Видели нечто подобное? Сообщите пожалуста.
...
Рейтинг: 0 / 0
Проверка: в строке только русские буквы
    #34483040
PhoenixNET
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
@RuSHAАха... ещё в body поставить проверку при onMouseMove
Ну нужно же как-то с копи-пастом бороться ;)
...
Рейтинг: 0 / 0
Проверка: в строке только русские буквы
    #34483135
Alex_BBB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PhoenixNET
Ну нужно же как-то с копи-пастом бороться ;)

Вобще можно на инпуте ловить нажатие Ctrl и блокировать его.
Но как бороться если вставлять мышкой??
...
Рейтинг: 0 / 0
Проверка: в строке только русские буквы
    #34483161
Alex_BBB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А может есть событие щелчка мышкой?
...
Рейтинг: 0 / 0
Проверка: в строке только русские буквы
    #34483169
ValzoID
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PhoenixNETНу нужно же как-то с копи-пастом бороться ;)

Есть такое событие onpaste . Правда, в FireFox'е не работает, в Опере - не проверял.
...
Рейтинг: 0 / 0
Проверка: в строке только русские буквы
    #34483471
PhoenixNET
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ValzoIDЕсть такое событие onpaste . Правда, в FireFox'е не работает, в Опере - не проверял.
Скорее всего не будет, ибо оно не валидное. По крайней мере здесь его нет.
...
Рейтинг: 0 / 0
Проверка: в строке только русские буквы
    #34483696
LINUXER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_BBBЕсть идей? Видели нечто подобное? Сообщите пожалуста.
(втроая страница)
c ctrl+v не вставляет. Зато вставляет с shift+ins и мышью/
...
Рейтинг: 0 / 0
Проверка: в строке только русские буквы
    #34483758
Alex_BBB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LINUXER Alex_BBBЕсть идей? Видели нечто подобное? Сообщите пожалуста.
(втроая страница)
c ctrl+v не вставляет. Зато вставляет с shift+ins и мышью/
Спасибо за ссылку.
так не трудно сделать, это всетаки не маскированный ввод
...
Рейтинг: 0 / 0
Проверка: в строке только русские буквы
    #34485854
Alex_BBB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LINUXER
я сначала не понал к чему.. думал что ссылка на пример маскированного ввода, а теперь только допер что ссылка показывает как ctrl+v запретить.

Только в FF ctrl+v все равно работает у них :(
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Проверка: в строке только русские буквы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]