helpf.pro
Регистрация
 0 
Распечатать

1С 8.x : Функция проверки, строка написана только русскими и латинскими буквами?

Код 1C v 8.х
 // Параметры:
// СтрокаПараметр - строка, проверяемая строка.
//
// Возвращаемое значение:
// Истина - строка состоит из допустимых символов
// Ложь - в строке встречаются недопустимые символы
//
// Описание:
// Строка проверяется на наличие только русских и латинских букв;
// кроме того, допускаются дефис, "Ё", "ё".
//
Функция СтрокаНаписанаРусскимиИлиЛатинскими(Знач СтрокаПараметр)

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

КоличествоСимволов = СтрДлина(СтрокаПараметр);

Если КоличествоСимволов > 0 Тогда

ПервыйСимвол = КодСимвола(Лев(СтрокаПараметр,1));
Русские = (ПервыйСимвол >= 192) или (ПервыйСимвол = 184) или (ПервыйСимвол = 168);

СписокДопустимыхЗначений = Новый Соответствие;
СписокДопустимыхЗначений.Вставить(184,Истина); // ё
СписокДопустимыхЗначений.Вставить(168,Истина); // Ё
СписокДопустимыхЗначений.Вставить(45,Истина); // "-"

Для Сч = 1 По КоличествоСимволов Цикл

Код = КодСимвола(Сред(СтрокаПараметр,Сч));

// Большие латинские буквы: 65 - 90
// Маленькие латинские буквы: 97 - 122
// Русские буквы: 192 и больше

//русские:
Если Русские Тогда

Если (СписокДопустимыхЗначений[Код] = Неопределено) и (Код < 192) Тогда
Возврат Ложь;
КонецЕсли;

// латинские:
ИначеЕсли (Код <> 45) и ((Код < 65) или (Код > 90) и (Код < 97) или (Код > 122)) Тогда
Возврат Ложь;
КонецЕсли;

КонецЦикла;

Возврат Истина;

Иначе
Возврат Истина;
КонецЕсли;
КонецФункции
Разместил:   Версии: | 8.x |  Дата:   Прочитано: 26525
 0 
Распечатать
Возможно, вас также заинтересует
Полнотекстовый поиск в 1С (что это и пример использования) 27
Полнотекстовый поиск - позволит найти текстовую информацию, размещенную практически в любом месте используемой конфигурации. При этом искать нужные данные можно либо по всей конфигурации в целом, либо сузив область поиска до нескольких объектов
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.