login  Naam:   Wachtwoord: 
Registreer je!
Scripts > PHP > Reguliere expressies > Valideer input met regular expressions


Reacties op het script Valideer input met regular expressions

Offline  Thomas
Gepost op: 09 januari 2005 - 00:03
Moderator



  1. public static function onlyCharacters($pString) {
  2. return(preg_match("/^[aA-zZ]+$/", $pString));
  3. }


Je kan de match case-insensitive maken met de /i modifier.
Je regexp wordt dan /^[a-z]+$/i

  1. public static function validateEmail($pEmail) {
  2. // The TLD (Top Level Domain) can be 2 or 4 characters long.
  3. // Example: .nl and .info
  4. return(preg_match("/[a-z0-9.-]+@[a-z0-9.-]+\.[a-z]{2,4}/i", $pEmail));
  5. }


Dat moet zijn "can be 2 to 4 characters long" lijkt me. Hij pakt ".com" enzo ook gewoon.

Verder wel een handige collectie, en inderdaad, een URL matchen is best wel een bitch .

Offline  freddyboeke
Gepost op: 17 april 2006 - 18:12
HTML beginner



Mooie collectie, maar heb enkele opmerkingen / tips:

- Zou het niet handig zijn om ook de postcode en het telefoonnummer voor België te kunnen valideren (al die niet in apparte functie, denk persoonlijk best appart, zo kan men zelf nog een check bouwen met een eventueel adres)

- De functie onlyDigits is denk ik gelijk aan isNumeric en bij deze overbodig.

Verder geen opmerkingen !

Offline  brsskpp
Gepost op: 20 mei 2006 - 11:39
Nieuw lid



1337TP 

Voor Belgie een postcode-check schrijven is heel erg simpel. Max. 4 karakters en enkel cijfers. Laat dus de letters vallen uit de nederlands check en je hebt je belgische check.


Offline  markpieper
Gepost op: 18 december 2006 - 19:07
HTML beginner



The TLD (Top Level Domain) can be 2 or 4 characters long.
Dat is niet waar, er is ook nog een .museum domein, het word alleen niet zo vaak gebruikt. Kijk maar op http://index.museum/

Offline  Thomas
Gepost op: 08 februari 2015 - 17:11
Moderator



IP controle bevat geen ^ en $.

Deze is misschien ook een handige, voor een positief geheel getal (denk aan auto_increment velden in databases):

#^[1-9][0-9]*$#

Little known fact: $ geeft "het einde van de (te matchen) string" aan, maar accepteert ook een newline (\n). Je doet er dus misschien verstandig aan om je input ook te trimmen, zodat deze newline er in ieder geval niet meer in zit.

En voor e-mail adressen is daar tegenwoordig filter_var().


Enkel aanvullende informatie, vragen en antwoorden op vragen zijn welkom.
 
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.092s