2009-09-29 6 views
0

toujours des problèmes RegEx .. doivent correspondre aux caractères suivantsphp preg_match regex

a-zA-z9-0,. ' "() _ -: (SPACE)

pas toutes les valeurs auront tous ces mais aurait pu eux, j'ai tout withing mais les parenthèses, simple et double Quoytes

/^[\w. ,\/:_-]+$/ 

MISE À JOUR:

.

Je l'ai travailler avec ceci: "/^[\w. ,:()'\"-]+$/"

$val_1 = "Abh acb 123 . - _ 's "; 
$val_2 = "Asc"; 
$val_3 = "234"; 
$val_4 = "nj%"; // Fail 
$val_5 = "Help (me)"; 
$val_6 = "What's wrong?"; // Fail 
$val_7 = "She's here"; 
$val_8 = "No: 123.00, 432.00"; 
$val_9 = 'Need to " Double" '; 

$var_array = array($val_1, $val_2, $val_3, $val_4, $val_5, $val_6, $val_7, $val_8, $val_9); 

foreach ($var_array as $k=>$d) { 
    if ((preg_match("/^[\w. ,:()'\"-]+$/", $d))) { 
     echo "Yeah it matches!!!<span style='color:green'>".$d."</span><br />"; 
    } else { 
     echo "Try again, thie FAILED<span style='color:red'>".$d."</span><br />"; 
    } 
} 

Merci pour tous pour aider à

Répondre

0

Avec l'aide de l'autre, j'ai trouvé soumission la solution qui fonctionne:

"/^[\w. ,:()'\"-]+$/" 

Merci à tous pour l'aide

0
$pat = "/^[\w. ,\\/:_()'\"-]/"; 
+0

ne fonctionne pas, passe toutes les valeurs de mon exemple mis à jour –

0

pour répondre à toutes celles-ci, il vous suffit:

preg_match("/[a-zA-Z0-9,.'\"()_- :]/", $string); 
+0

échappât le - :) Il donnera erreur de cette façon, ou ne fonctionne pas correctement (éventuellement celui-ci) – bisko

+0

J'ai un match presque exactement comme ça et je n'échappe pas les tirets, fonctionne bien :) – user97410

+0

ne fonctionne pas, a échoué toutes les valeurs dans mon exemple mis à jour –

0
/^[-a-zA-Z0-9,.'"()_: ]+$/ 

Cela devrait fonctionner. Mais si vous le mettez dans une chaîne assurez-vous d'échapper aux citations nécessaires.

+0

ne fonctionne pas, a échoué toutes les valeurs dans mon exemple mis à jour –

+0

oui j'ai aussi fait l'évasion: "/ ^[-a-zA-Z0-9,.'\"()_:] + $ /" –