Dobrej pokec   Lišanská šlapka   MSDN   VB na Microsoft.cz   NCHAT Nový design
   Portál  O firmě  Profil  Reference  Produkty  Odkazy  Diskuse  Tisková verze 



  Novinky e-mailem
Pokud chcete být informováni o změnách ,přihlašte se k odběru novinek!
  
  
  Nejčtenější články
 Seznam všech českých hubů abecedně. (32160)
 Seznam hubů nad 100 uživatelů (20875)
 Konfigurovatelné rozbalovací menu (17499)
 Jak na makra (14371)
 Rozbalovací menu v JavaScriptu (2.) (12702)
  Nejstahovanější soubory
 Action Meter (1846)
 Slovní Fotbal (777)
 IE Boss Guard (484)
 zdroják slovní fotbal (383)
 Folder Watcher (370)
  Anketa

  Nabídka portálu

 Adobe Premiere
    Jak se dá udělat
 Alternativní prohlížeče
    FireFox
 ASP
    Tipy a triky
 Direct Connect
    Huby
    Scripty pro HUB
    Tipy a triky CZDC++
 Game Maker
    Tipy a triky
 Hry
    Akční
    Logické
 HTML
    Scripting (VBS,JS)
    Tipy a triky
 Internet
    Užitečné triky
 Microsoft Office
    Tipy, triky, návody
    Užitečná makra
    VBA Tipy a triky
 MS SQL Server
    Nastavení
    Seriály
    Tipy a triky
 Multimedia
    Návody
 Oracle
    PL/SQL
 PHP
    Jak na to
    Tipy a triky
 Užitečné odkazy
    Grafické programy
    Programátorské
 Visual Basic
    DirectX
    Formuláře
    Jak se dá udělat ...
    Užitečné funkce
    Win32Api
    Zdroje
 Visual Basic .NET
    Užitečné funkce
 Vtípky
    Vtipy a anekdnoty
 Vypalování
    DVD Shrink
    Tipy a triky
 Windows
    Jak se dá ...
    Tipy a triky pro XP
    Triky pro IE


Nabídka portálu se při zobrazení článku přesouvá na konec pravého sloupce nabídek.

 Použití operátoru LIKE

Autor: SwitCZ
Zdroj: 
Vytvořeno: 1.7.2003
Publikováno: 18.8.2003
Čtenářů: 2848
Unikátních: 2803


Jednoduché ověřování řetězce podle masky.

Operátor like umožňuje vytvořit 'masku' pro zadávání řetězce, nebo může fungovat jako ověřovací příkaz při vyhledávání.
Jde o ověření jestli první řetězec odpovídá vzorovému řetězci (masce).

Syntax:
Návratová hodnota (Result) = vstupní řetězec LIKE maska

Možnosti zadávání masky:

? otazník zastupuje právě jeden znak
* hvězdička zastupuje 0 nebo více znaků
# zastupuje číslici
[seznam] seznam povolených hodnot
[!seznam] seznam zakázaných hodnot

Pozor je trošku jiná syntaxe při použití LIKE v databázových dotazech tam se místo "*" používá "%".

Nakonec si ještě ukažme jak tedy operátor LIKE používat:

Ověřovaný
řetězec
Maska Návratová
hodnota
Popis
741230/1999 ##[0156]#[0123]#/###* True Jednoduché ověření Rod.č.
742230/1999 ##[0156]#[0123]#/###* False třetí znak je dvojka
abC [a-c][b-d][A-Z] True   
ccF [a-c][b-d][A-Z] True   
dcF [a-c][b-d][A-Z] False d není v rozsahu [a-c]
ccFF [a-c][b-d][A-Z] False navíc znak F
ccFF [a-c][b-d][A-Z]* True   
G [!A-H] False A-H je zakázáno
Ahoj7 *# True   
AhojA *# False Poslední znak musí být číslo
A32-15Q5-1191 A##-1#Q#-##9[1-5] True   
A32-15Q5-1198 A##-1#Q#-##9[1-5] False Poslední musí být 1 až 5

Potřebujete-li vložit do masky znak "*", "?" nebo "!" musíte ho uzavřít do hranatých závorek!

Ověřovaný
řetězec
Maska Návratová
hodnota
Popis
ANO? [A-Z]??[?] True Poslední je otazník
JDI! ???[!] True Poslední je vykřičník
aplolo13* *[*] True Poslední je hvězdička

A jak tedy použít operátor LIKE v praxi, jako příklad uvedeme ověření rodného čísla:

Function IsValidRC ( byval sRC as string) as Boolean
  'rok může být od 00 do 99
  '  tedy ##  
  'měsíc může být od 01 do 31 ženy + 50
  '  tedy [0156]#
  'den od 01 do 31
  '  tedy [0123]#
  'Následuje / nebo -
  ' tedy [/-]
  'A následují 3 nebo 4 číslice tedy
  '  ###? zde máme malou rezervu v posledním znaku
  IsValidRC=False
  if sRC LIKE "##[0156]#[0123]#[/-]###?" then
  IsValidRC=True    
  end if
End Function
Funkci IsValidRC zavoláme například takto:
  MsgBox IsValidRC("740531/1234")
Doufám, že Vám operátor LIKE pomůže opět o krok dále při Vašem programování :o).



Příspěvky ke článku:



© Swit.cz, Marek Kočí 2003