'*** v9.7 *** www.dieseyer.de ****************************** ' ' Datei: syntax-pcname.vbs ' Autor: xxx.dexter.xxx@googlemail.com ' Auf: www.dieseyer.de ' ' http://www.source-center.de/forum/showthread.php?p=79678 ' ' PCName werden vor der Prüfung immer in Großbuchstaben gewandelt! ' ^[0-9]{15}$ PCNamen mit 5..15 Zeichen, nur Ziffern: 123456789012345; ' ^[-_A-Z0-9]{5,15}$ PCNamen mit 5..15 Zeichen, Ziffern und Buchstaben und - und _ : PC-01; ' ^DIESEYER[-_A-Z0-9]{7}$ PCNamen beginnen mit 'DIESEYER' und haben 15 Zeichen: DIESEYER-123456; ' ^DS[A-Z0-9]{13}$ PCNamen beginnen mit 'DS' und haben 15 Zeichen, kein - kein _ : DS1234567890123 ' '*********************************************************** Option Explicit ' Siehe http://dieseyer.de/dse-wsh-lernen.html#OptionExpl Dim Txt, Tst Tst = "1sd ddd" : Txt = Txt & Tst & vbTab & " => " & GueltigerPCName( Tst ) & vbCRLF Tst = "s2d-ddd" : Txt = Txt & Tst & vbTab & " => " & GueltigerPCName( Tst ) & vbCRLF Tst = "ss3_ddd" : Txt = Txt & Tst & vbTab & " => " & GueltigerPCName( Tst ) & vbCRLF Tst = "ssd.4dd" : Txt = Txt & Tst & vbTab & " => " & GueltigerPCName( Tst ) & vbCRLF Tst = "ssd!d50" : Txt = Txt & Tst & vbTab & " => " & GueltigerPCName( Tst ) & vbCRLF Tst = "1" : Txt = Txt & Tst & vbTab & " => " & GueltigerPCName( Tst ) & vbCRLF Tst = "12" : Txt = Txt & Tst & vbTab & " => " & GueltigerPCName( Tst ) & vbCRLF Tst = "123" : Txt = Txt & Tst & vbTab & " => " & GueltigerPCName( Tst ) & vbCRLF Tst = "1234" : Txt = Txt & Tst & vbTab & " => " & GueltigerPCName( Tst ) & vbCRLF Tst = "12345678901234" : Txt = Txt & Tst & vbTab & " => " & GueltigerPCName( Tst ) & vbCRLF Tst = "123456789012345" : Txt = Txt & Tst & vbTab & " => " & GueltigerPCName( Tst ) & vbCRLF Tst = "1234567890123456" : Txt = Txt & Tst & vbTab & " => " & GueltigerPCName( Tst ) & vbCRLF Tst = "123456789ABCDEFx" : Txt = Txt & Tst & vbTab & " => " & GueltigerPCName( Tst ) & vbCRLF MsgBox Txt, , "35 :: " & Wscript.ScriptName WScript.Quit '*** v9.7 *** www.dieseyer.de ****************************** Function GueltigerPCName( Hostname ) '*********************************************************** ' Autor: xxx.dexter.xxx@googlemail.com ' http://www.source-center.de/forum/showthread.php?p=79678 Hostname = UCase( Hostname ) Dim RegAusdr, Tst Tst = "^[-a-zA-Z0-9!@#\$\%\^&'\(\)\._\{\}~]{1,15}$" Tst = "^[-_a-zA-Z0-9]{3,15}$" ' 3 bis 15 Zeichen, Buchstaben und Zahle und - und _ Set RegAusdr = New RegExp RegAusdr.Pattern = Tst If RegAusdr.Test(Hostname) Then GueltigerPCName = TRUE ' : MsgBox GueltigerPCName & ": " & PC, , "55 :: " & Titel Else GueltigerPCName = FALSE ' : MsgBox GueltigerPCName & ": " & PC, , "57 :: " & Titel End If Set RegAusdr = nothing End Function