Имя: Пароль:
1C
1С v8
как организовать проверку строки
0 ArtYst
 
25.07.12
09:30
Она должна удвлетворять следующим принципам:
1 количество символов должно быть 17
2. Допустимыми символами являются только латинские буквы и арабские цифры.

В остальных случях выдает ошибку и не позволяет работать дальше с данными в этом окне поля


Вот с первым условием все хорошо, а со вторы возникли проблемы пробовала через
 если (КодСимвола(Реквизит1)<=КодСимвола("A") или  КодСимвола(Реквизит1)>=КодСимвола("Z"))
                       и  (КодСимвола(Реквизит1)<=КодСимвола("0") или  КодСимвола(Реквизит1)>=КодСимвола("9")) тогда
                       Сообщить("Ошибка ввода данных");
                       прервать;

пробовала и по другому ну ниче не выходит подскажите подалуйста.
1 IVT_2009
 
25.07.12
09:31
Регулярные выражения. Пример сейчас найду
2 IVT_2009
 
25.07.12
09:32
http://help1c.com/faq7/view/988.html

RegExp=Новый COMОбъект("VBScript.RegExp");
RegExp.MultiLine=Ложь;
RegExp.Global=Истина;
RegExp.Pattern = "[^A-z0-9]";
Str1 = СокрЛП(Стр);
Res = RegExp.Replace(Str1, "");
Возврат Res;  

На инфостарте было обсуждение как найти и проверить
3 IVT_2009
 
25.07.12
09:33
Вот еще пример от туда

RegExp = Новый COMОбъект("VBScript.RegExp");
       
RegExp.IgnoreCase = Ложь; //Игнорировать регистр
RegExp.Global = Истина; //Поиск всех вхождений шаблона
RegExp.MultiLine = Истина; //Многострочный режим
         
RegExp.Pattern = "Windows[\w\s\d]*([A-Z1-9]{5}-[A-Z1-9]{5}-[A-Z1-9]{5}-[A-Z1-9]{5}-[A-Z1-9]{5})"; //Ищем ключ Windows

Matches=RegExp.Execute("строка поиска");
ЧислоВхождений=Matches.Count();
Если ЧислоВхождений>0 Тогда
 Для к = 0 По ЧислоВхождений-1 Цикл
      Match = Matches.Item(к);
      SubMatches = Match.SubMatches;
              Ключ=SubMatches.Item(0);
 КонецЦикла;
КонецЕсли;  

http://help1c.com/faq7/view/994.html
4 ArtYst
 
25.07.12
09:38
(3) это же для 7.7?
5 Wobland
 
26.07.12
06:17
(4) незаметно