Regestrieren

11/18/2011 22:00 _.-°Turner°-._#1
Brauche hilfe ...
Bitte schreibt mir wer in den script das folgende buchstaben mit ner msgbox mit der inschrift : Msgbox(16,"Error","Es sind nur folgende Buchstaben erlaubt : " & @CR & "A-Z , 1-9 , . , _ , - & © / ® ")

die ' verbotenen ' buchstaben :
! , " , § , $ , % , & , / , ( , ) , = , ? , ` , ´ , \ , ] , [ , } , { , ³ , ² , ° , ^ , µ , € , ; , : , | , < , > , @ , + , * , ~ , ' , # und ,

Danke sehr im vorraus
11/18/2011 22:18 bollen#2
für was brauchst du nochmal einen Thread?? die frage war doch im letzten schon beantwortet worden von lolkop
11/18/2011 22:35 Freddy​#3
Oder einfach mit If StringInStr() abfragen
11/20/2011 12:55 lolkop#4
Quote:
Originally Posted by Snivel View Post
Oder einfach mit If StringInStr() abfragen
StringInStr würde immer wieder von vorne den string durchsuchen.
es macht viel mehr sinn, den string in einem durchlauf zu scannen, indem jedes zeichen einzeln abgeglichen wird.
11/20/2011 18:33 YunoSubs#5
Quote:
Originally Posted by lolkop View Post
StringInStr würde immer wieder von vorne den string durchsuchen.
es macht viel mehr sinn, den string in einem durchlauf zu scannen, indem jedes zeichen einzeln abgeglichen wird.
Code:
$sTest = "Hallo!"
$aDurchsuchen = StringRegExp($sTest,'[!"§$%&/()=?`´\][}{³²°^µ€;:|<>@+*~' & "'#]",3)

If UBound($aDurchsuchen) <> 0 Then
	Msgbox(16,"Error","Es sind nur folgende Buchstaben erlaubt : " & @CR & "A-Z , 1-9 , . , _ , - & © / ® ")
Else
	MsgBox(0,"Erfolg","Erfolg!")
EndIf
11/20/2011 21:08 lolkop#6
ich würde immernoch die whitelist methode bevorzugen^^

für seine aktuell zugelassenen zeichen könnte das zb so aussehen:
Code:
Dim $allowed[256]
For $i=0 To 255
	Switch $i
		Case 65 To 90, 49 To 57, 45, 46, 95, 169, 174
			$allowed[$i] = True
		Case Else
			$allowed[$i] = False
	EndSwitch
Next

Func CheckString($string)
	Local $split = StringSplit($string,'')
	For $i=0 To $split[0]
		If Not $allowed[Asc($split[$i])] Then Return False
	Next
	Return True
EndFunc

ConsoleWrite(CheckString('BLUBB')&@CRLF)
edit:
natürlich lässt es sich auch wie beim vorposter über die regexp methode lösen:
Code:
Func CheckString($string)
	Return Not(StringRegExp($string, '[^-A-Z._1-9©®]', 0))
EndFunc

ConsoleWrite(CheckString('BLUBB')&@CRLF)
11/21/2011 13:35 ZENS!ERT#7
wozu brauchst du das wenn ich fargen darf?
11/21/2011 18:34 YunoSubs#8
Quote:
Originally Posted by frühling View Post
wozu brauchst du das wenn ich fargen darf?
Für eine Registration siehe Thread Namen.
11/21/2011 19:11 _.-°Turner°-._#9
Quote:
Originally Posted by Shawn Spencer View Post
Code:
$sTest = "Hallo!"
$aDurchsuchen = StringRegExp($sTest,'[!"§$%&/()=?`´\][}{³²°^µ€;:|<>@+*~' & "'#]",3)

If UBound($aDurchsuchen) <> 0 Then
	Msgbox(16,"Error","Es sind nur folgende Buchstaben erlaubt : " & @CR & "A-Z , 1-9 , . , _ , - & © / ® ")
Else
	MsgBox(0,"Erfolg","Erfolg!")
EndIf
keine freagen einfach machen :) SO MUSS DAS SEIN LEUTE !!