Имя: Пароль:
1C
1С v8
Как проверить в строке наличие русских букв?
0 Elf_80_lvl
 
11.10.11
13:02
Есть необходимость дать пользователям возможность вводить некую строку символов. Символы это английские буквы и цифры. Хочется обезопасить их ( и себя) от случайного введения похожих русских букв.
Подозреваю что можно как то через код символа посмотреть, ну вобщем подскажите если знаете.
1 catena
 
11.10.11
13:04
Функция ЭтоРусскаяБуква(С) Экспорт
   Возврат Найти("АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЫЬЪЭЮЯ", ВРег(С))<>0;
КонецФункции
2 max1c2011
 
11.10.11
13:05
а не прощели сравнить ВРег(строка) = ли Строка
3 max1c2011
 
11.10.11
13:06
т.е. Возврат ?(Врег(Строка)=Строка, Ложь, Истина) // нет возращаем Ложь
4 catena
 
11.10.11
13:06
с чем сравнить?...
5 Godofsin
 
11.10.11
13:07
(3) Это ты так русские символы ищешь?
6 Elf_80_lvl
 
11.10.11
13:08
(1) Спасибо, все же просто... мог бы и сам догадаться =)
7 Godofsin
 
11.10.11
13:08
(6) И то верно, вроде 80 уровень =)
8 max1c2011
 
11.10.11
13:10
(4)строку до преобразования в Врег со строкой до преобразования. Вообще 1 итерация
9 Elf_80_lvl
 
11.10.11
13:14
(8)
Синтаксис:
ВРег(<Строка>)
Параметры:

<Строка> (обязательный)

Тип: Строка.
Исходная строка.
Возвращаемое значение:

Тип: Строка.
Строка, полученная в результате преобразования.
Описание:

Преобразует все символы строки в верхний регистр.

Правильный ответ в (1)
10 catena
 
11.10.11
13:15
(8)А зачем их сравнивать?...
11 luckyluke
 
11.10.11
13:15
(8) я думаю ты либо неправильно понял задачу, либо еще что-то случилось, так что читай (0), потом (1) до понимания.
12 Wobland
 
11.10.11
13:16
(8) Y<>y - русские символы в наличии?
13 max1c2011
 
11.10.11
13:20
(12)ах ты! Точно!
14 FIXXXL
 
11.10.11
13:44
из типовой

//Проверяет на наличие только русских букв (допускаются пробелы и дефис и некоторые спец символы)
Функция СтрокаНаписанаПоРусски(Знач СтрокаПараметр) Экспорт

   СтрокаПараметр = СокрЛП(СтрокаПараметр);    

   СписокДопустимыхЗначений = Новый СписокЗначений;
   СписокДопустимыхЗначений.Добавить(184);
   СписокДопустимыхЗначений.Добавить(168);
   СписокДопустимыхЗначений.Добавить(45);
   СписокДопустимыхЗначений.Добавить(46);
   СписокДопустимыхЗначений.Добавить(32);
   СписокДопустимыхЗначений.Добавить(48);
   СписокДопустимыхЗначений.Добавить(49);
   СписокДопустимыхЗначений.Добавить(50);
   СписокДопустимыхЗначений.Добавить(51);
   СписокДопустимыхЗначений.Добавить(52);
   СписокДопустимыхЗначений.Добавить(53);
   СписокДопустимыхЗначений.Добавить(54);
   СписокДопустимыхЗначений.Добавить(55);
   СписокДопустимыхЗначений.Добавить(56);
   СписокДопустимыхЗначений.Добавить(57);

   Для Сч=1 По СтрДлина(СтрокаПараметр) Цикл
       Код = КодСимвола(СтрокаПараметр,Сч);
       Если (Код<192) И (СписокДопустимыхЗначений.НайтиПоЗначению(Код) = Неопределено) Тогда
           Возврат Ложь;
       КонецЕсли;
   КонецЦикла;

   Возврат Истина;
КонецФункции
15 Elf_80_lvl
 
11.10.11
14:01
(14) нетленка =)
16 FIXXXL
 
11.10.11
14:02
(15) ну вставь в нетленку
17 Elf_80_lvl
 
11.10.11
14:19
(16) Угу посмотрел. Я вообще немного подругому сделал, вместо того чтобы искать лишние символы я как в (1) просто прописал только те символы и знаки которые допустимы.