Prüfen ob E-Mail, ICQ oder URL gültig ist

Status
Nicht offen für weitere Antworten.

Prophet05

Erfahrenes Mitglied
Gibt es fertige Stringfunktionen welche Prüfen ob eine gültige E-Mail, ICQ oder Web-Adresse vorliegt?
z.B.:
PHP:
<?php 
 if(is_icqnumber($stirng)) 
 	$icq = $string; 
  
 if(is_emailadress($string)) 
 	$email = $string; 
  
 if(is_url($string)) 
    $link = $string; 
 ?>
Ich hoffe es wird klar was ich meine.

Wenn nicht kann mir jemand sagen wie ich sowas erstelle/mir Quelltext geben, weil ich wüsste nicht wie ich einen String auf bestimmte Kriterien wie z.B. ein @ überprüfen sollte..

MfG Prophet05
 
Hi
Zum überpfrüfen der eMail-Adresse verwende ich immer dies hier. Es gibt sicherlich einen besseren und professionelleren weg aber es erfüllt seinen Zweck. ;)

PHP:
   <?php
   
   	//Die Variable zur Prüfung der E-mail Adresse:
   	$muster_mail="/^[a-zA-Z0-9-_.]+@[a-zA-Z0-9-_.]+\.[a-zA-Z]{2,4}$/";
   
   
   	if (empty($_POST["email"])){
   		$echo="Bitte füllen sie das Feld eMail aus.";
   	}
   	elseif (preg_match($muster_mail, $_POST["email"]) == 0){
   		$echo="Bitte überprüfen sie Ihre eingegebene eMail-Adresse.";
   	}
   
   ?>

Gruß
exed
 
Das sind doch reguläre ausdrücke oder? Damit habe ich mich noch nicht befasst aber damit kann ich ja genauso einfach die anderen beiden Sachen überprüfen. Muss ich mich wohl mal reinarbeiten.

Danke!

mfg Prophet05
 
Für einen HTTP-URL empfehle ich dir folgenden regulären Ausdruck:
Code:
http://(?:(?:(?:(?:(?:[a-zA-Z\d](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?)\.)*(?:[a-zA-Z](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?))|(?:(?:\d+)(?:\.(?:\d+)){3}))(?::(?:\d+))?)(?:/(?:(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[;:@&=])*)(?:/(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[;:@&=])*))*)(?:\?(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[;:@&=])*))?)
 
Also ich habe da mal selber ein bisschen gebastelt und bin zu folgenden gekommen:
PHP:
<?php
  $pattern_email = '/^[a-zA-Z0-9-_.]+@[a-zA-Z0-9-_.]+\.[a-zA-Z]{2,4}$/'; /* wurde ja schon gepostet */
  $pattern_icq = '/^([0-9]{3}-[0-9]{3}-[0-9]{3})|([0-9]{9})$/';
  $pattern_url = '/^(http:\/\/)|(www\.)[a-zA-Z0-9-_.]+\.[a-zA-Z]{2,4}$/';
  ?>
Ich weis nicht warum dein so lang geworden ist. Vielleicht weist meine ja mängel auf aber ich habe sie getestet und sie funktionieren einwandfrei. Falls ihr doch Mängel findet bitte posten!

@Gumbo: Würde mich echt interessieren wie du zu dem riesen Pattern gekommen bist.

mfg Prophet05
 
Zuletzt bearbeitet:
Bei deiner url-überprüfung fehlen auf jeden fall einige zeichen.
zb. %
außerdem muss eine url nich immer mit einem . und 2-4 andren zeichen enden ;)
 
Zu der Email-Verifizierung möchte ich anmerken, dass man maximal auf ein @, zeichen vor und nach diesem, sowie die url, die direkt hinter dem @ kommt, überprüfen kann. Viel mehr geht nicht, da ja auch Adressen wie kri,s@baum@gmx.de beispielsweise möglich sind...
 
@Narrator: Man kann doch keine URLs mit einem % Zeichen eingeben oder? Davon habe ich noch nir gehört. Das mit der endung habe ich doch mit drinne:
Code:
$pattern_url = '/^(http:\/\/)|(www\.)[a-zA-Z0-9-_.]+\.[a-zA-Z]{2,4}$/';

@KristophS: Also wäre "prophet@05@weisnicht@gmx.de" möglich? Das glaube ich nicht, welchen sinn hätte soetwas? Wann kommt das vor?

@Gumbo: :eek:

MfG Prophet05
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.
Zurück