VBSCRIPT проверка текста на недопустимые символы.

Программирование на Active Server Pages и VBScript.
ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

VBSCRIPT проверка текста на недопустимые символы.

Сообщение ALX_2002 » 05.07.2005 (Вт) 16:30

Собственно трабл.

Есть строка.

Нужно проверить её на недопустимые символы.

При чём список допустимых символов

(8, 32 to 38, 40 to 126, 192 to 255)

Нужно это сделать в VBSCRIPT :(

'----------------------------

Хотел сделать через SELECT CASE
Не получается. VBSCRIPT не поддерживает case X to X

Помогите с идеей плиз. :oops:
Последний раз редактировалось ALX_2002 05.07.2005 (Вт) 16:47, всего редактировалось 1 раз.

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 05.07.2005 (Вт) 16:31

Select Case True ?
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 05.07.2005 (Вт) 16:32

2 Sebas: К сожалению не понял. :shock:

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 05.07.2005 (Вт) 16:46

Select Case true
case x>0
case X>1 And X<5
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Re: VBSCRIPT проверка текста на недопустимые символы.

Сообщение Andrey Fedorov » 05.07.2005 (Вт) 16:48

ALX_2002 писал(а):Хотел сделать через SELECT CASE
Не получается. VBSCRIPT не поддерживает case X to X


Да сделай просто через If ... Then
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 05.07.2005 (Вт) 16:51

Всё... КанЭц..... :shock: Я схожу с ума

Код: Выделить всё

A=0

Select case A
case A > 4
msgbox "A"
End Select


У меня вот этот код срабатывает и выдаёт мессагу. :shock:

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 05.07.2005 (Вт) 16:54

:shock:
:lol: :lol: :lol:
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 05.07.2005 (Вт) 16:55

ALX_2002 писал(а):Всё... КанЭц..... :shock: Я схожу с ума
Код: Выделить всё
A=0
Select case A
case A > 4
msgbox "A"
End Select

У меня вот этот код срабатывает и выдаёт мессагу. :shock:


А ты что хотел-то?
Подумай как следует что у тебя получилось-то.

Будет лучше если сам поймешь что написал...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Igor_123
Осторожный Баянист
Осторожный Баянист
Аватара пользователя
 
Сообщения: 1325
Зарегистрирован: 21.07.2004 (Ср) 13:00
Откуда: Днепропетровск

Сообщение Igor_123 » 05.07.2005 (Вт) 17:00

А почему он не должен срабатывать :shock:

А = 0
Select Case A -> (0)
case A > 4 -> условие обрабатываеться получаем False -> приводим к целому получаем 0 -> Значит наша ветка, заходим в неё

Все нормально!
Водки я вам не обещаю, но погуляем хорошо.
И. Сусанин.

Аватара (с) Тёмыч

Igor_123
Осторожный Баянист
Осторожный Баянист
Аватара пользователя
 
Сообщения: 1325
Зарегистрирован: 21.07.2004 (Ср) 13:00
Откуда: Днепропетровск

Сообщение Igor_123 » 05.07.2005 (Вт) 17:02

Упс!
Поторопился и испортил воспитательный момент! :oops:
Ногами, хоть не сильно бейте :roll:
Водки я вам не обещаю, но погуляем хорошо.
И. Сусанин.

Аватара (с) Тёмыч

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 05.07.2005 (Вт) 17:27

Код: Выделить всё
Dim A,S,P
S="ABCD1"
P="^[\x8\x20-\x26\x28-\x7e\xc0-\xff]*$"
Set A=CreateObject("VBScript.RegExp")
A.Pattern=P
MsgBox iif(A.Test(P),"верно","неверно")

Признаться честно, не проверял. Но работать должно...
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 05.07.2005 (Вт) 18:26

2 ANDLL: :shock: ! УХ ! КРУТО ! Я ТОЖЕ ТАК ХОЧУ !

Пойду пробывать ! :D

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 05.07.2005 (Вт) 22:14

2 ANDLL: Отец, посвяти меня пожалуйста в таинство синтаксиса этой штуки. :shock:

Я в нете нашёл полно инфы, НО НИ ***** не понял :shock: :shock: :shock:

Там такое понаписано.

Пожалуйста - объясни на пальцах, как ей подсовываются параметры. :shock: :( :oops:

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 06.07.2005 (Ср) 11:25

Ты про это: ^[\x8\x20-\x26\x28-\x7e\xc0-\xff]*$ ?
Собственно называется это "Регулярные выражения".
Замечательная книга на эту тему: Дж. Фридл "Регулярные выражения", изд. Питер, 2-е изд. Там на обложке сова нарисована :)
Вот тут накрапал статью на эту тему: http://www.danasoft.ru/users/andll/reg_exp.zip. Если хочешь, можеш почитать. Жду комментариев.
Кстати, для отца я еще не такой старый.
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 06.07.2005 (Ср) 11:45

2 ANDLL: Угумс. Скачал. Прочитал. Опять ничего не понял. Буду читать подробнее :shock: :idea:

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 06.07.2005 (Ср) 12:31

Что именно ты не понял?
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

Рома
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 28.10.2005 (Пт) 16:04

Сообщение Рома » 28.10.2005 (Пт) 19:02

ANDLL писал(а):
Код: Выделить всё
Dim A,S,P
S="ABCD1"
P="^[\x8\x20-\x26\x28-\x7e\xc0-\xff]*$"
Set A=CreateObject("VBScript.RegExp")
A.Pattern=P
MsgBox iif(A.Test(P),"верно","неверно")

Признаться честно, не проверял. Но работать должно...


Ошибка вот тут, или я чего то не догоняю :)

A.Test(P) поменять A.Test(S)

Если оставить, как написано, будет проверять собственный паттерн =)

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 28.10.2005 (Пт) 20:06

Есть такое. Я же говорил, что не проверял.
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 19.11.2005 (Сб) 19:58

А я так делаю :wink:
Код: Выделить всё
Dim Sym

InputStr=InputBox("Введите строку для проверки")
CheckStr=InputBox("Введите строку недопустимых символов")

Check InputStr,CheckStr

Sub Check(InputString,CheckString)
   For N=1 to len(InputString)
      Sym=mid(InputString,N,1)
      if Instr(1,CheckString,Sym) > 0 then
         Msgbox "Строка содержит недопустимый символ '" & Sym & "'"
         Exit Sub
      End if
   Next
   msgbox "В строке нет недопустимых символов"
End Sub


Вернуться в ASP и VBScript

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7

    TopList