// Параметры: // СтрокаПараметр - строка, проверяемая строка. // // Возвращаемое значение: // Истина - строка состоит из допустимых символов // Ложь - в строке встречаются недопустимые символы // // Описание: // Строка проверяется на наличие только русских и латинских букв; // кроме того, допускаются дефис, "Ё", "ё". // Функция СтрокаНаписанаРусскимиИлиЛатинскими(Знач СтрокаПараметр) СтрокаПараметр = СокрЛП(СтрокаПараметр); КоличествоСимволов = СтрДлина(СтрокаПараметр); Если КоличествоСимволов > 0 Тогда ПервыйСимвол = КодСимвола(Лев(СтрокаПараметр,1)); Русские = (ПервыйСимвол >= 192) или (ПервыйСимвол = 184) или (ПервыйСимвол = 168); СписокДопустимыхЗначений = Новый Соответствие; СписокДопустимыхЗначений.Вставить(184,Истина); // ё СписокДопустимыхЗначений.Вставить(168,Истина); // Ё СписокДопустимыхЗначений.Вставить(45,Истина); // "-" Для Сч = 1 По КоличествоСимволов Цикл Код = КодСимвола(Сред(СтрокаПараметр,Сч)); // Большие латинские буквы: 65 - 90 // Маленькие латинские буквы: 97 - 122 // Русские буквы: 192 и больше //русские: Если Русские Тогда Если (СписокДопустимыхЗначений[Код] = Неопределено) и (Код < 192) Тогда Возврат Ложь; КонецЕсли; // латинские: ИначеЕсли (Код <> 45) и ((Код < 65) или (Код > 90) и (Код < 97) или (Код > 122)) Тогда Возврат Ложь; КонецЕсли; КонецЦикла; Возврат Истина; Иначе Возврат Истина; КонецЕсли; КонецФункции