begin process at 2012 05 31 16:44:21
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

recherche chaine decaractere


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

recherche chaine decaractere

mercredi 13 juillet 2011 à 12:14:56 | recherche chaine decaractere

ju0123456789

Bonjour

J'ai une question toute bete, je souhaite faire un controle de chaine de caractere, controler que la chaine n'a uniquement que des caracteres alphanumeriques plus quelques exception comme le underscore.
J'ai fait :
Code PHP :
$Chaine = "salut";
if( preg_match("/[a-z0-9]/", $Chaine ) )
{
  echo "<strong style='color:green;'>Chaine OK</strong>";
}
else
{
  echo "<strong style='color:red;'>Chaine NON OK</strong>";
}


Peut importe ce que je rajoute dans $Chaine il me renvoi toujours OK (dans l'exemple ci-dessous je en teste uniquement que les caracteres alphanumeriques).
Je voudrais que dès que je rajoute un accent ou une parenthese par exemple, ça me renvoie faux, comment puis-je faire cela svp ?

Merci
mercredi 13 juillet 2011 à 12:35:14 | Re : recherche chaine decaractere

47

Réponse acceptée !
Bonjour,

tente de remplacer /[a-z0-9]/ par /^[a-z0-9]*$/

bonne journée



mercredi 13 juillet 2011 à 13:35:29 | Re : recherche chaine decaractere

ju0123456789

Hello !

Oui ça marche niquel !
Donc si je fais
Code PHP :
/^[a-z0-9_-]*$/

ça devrait marcher, en incluant le tiret et le underscore ?
mercredi 13 juillet 2011 à 16:07:59 | Re : recherche chaine decaractere

47

re,

normalement oui ça devrait marcher



mercredi 13 juillet 2011 à 16:10:49 | Re : recherche chaine decaractere

cod57

Réponse acceptée !
Bonjour
mais il te faut peu etre aussi les Majuscules et l'espace ...
a++

un petit snippet
Code PHP :
<?php
function ote_accent($str){
$ch = strtr($str,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
return $ch;
}

function check1($pattern,$Chaine){

  if(preg_match($pattern,$Chaine)){
  return "<strong style='color:green;'>Chaine OK</strong>";
  }else{
  return "<strong style='color:red;'>Chaine NON OK</strong>";
  }

}

// /^[a-z0-9_-]*$/ pcre

if(isset($_POST['tocheck']) && !empty($_POST['tocheck'])){
$chaine=$_POST['tocheck'];
//$chaine=ote_accent($chaine);
echo check1($pattern='/^[a-zA-Z 0-9_-]*$/',$chaine); //+ espace et majuscules
}else{
echo $form = '<form method="post" action="">

test <input type="text" name="tocheck" size=20>
<input type="submit" value="tester">
</form>';

}
?>



Bonne programmation !
vendredi 15 juillet 2011 à 10:17:48 | Re : recherche chaine decaractere

ju0123456789

Bonjour !

Non surtout pas les espaces !! car c'est pour un login, et dans le login je n'accepte pas les espaces c'est trop dangereux pour la suite

Mais sinon le reste oui c'est ça ! merci
lundi 18 juillet 2011 à 00:53:37 | Re : recherche chaine decaractere

kohntark

Membre Club
Salut,


... au passage :
Comme déjà dit /^[a-z0-9]*$/ ne matchera pas les accents, ... mais matchera une chaîne vide

Inutile donc de faire un test !empty(...), et encore moins d'utiliser la fonction ote_accent() :
Code PHP :
if (isset($_POST['tocheck']) && preg_match('`^[\w-]+$`', $_POST['tocheck'])) {
    echo '<span style="color:green;">Chaine OK</span>';
} else {
    echo '<span style="color:red">Chaine NON OK</span>';
}


NB : si la regex ne match pas les accents tu as sans doute un pb avec les locale (cf setlocale()) ou il te faudra spécifier l'option 'u' ('`^[\w-]+$`u')

Et puisqu'il s'agit d'un login il peut être utile de définir un nombre de caractères mini et maxi, style '`^[\w-]{4,50}$`'

Cordialement,

Kohntark -
lundi 25 juillet 2011 à 09:13:40 | Re : recherche chaine decaractere

ju0123456789

Merci pour ces précisions ;)


Cette discussion est classée dans : recherche, chaine, ok, uniquement, decaractere


Répondre à ce message

Sujets en rapport avec ce message

Comment rechercher un mot dans une chaine de caractères ? [ par Drazounet ] Bonjours à tous,Je suis en train de programmer un forum en php et maintenant je suis en train de lui ajouter une section "recherche" afin de trouver p recherche de chaine & mise dans un tableau [ par ianthorpe62 ] slt tout le monde, g encore un probleme loool, il & le suivant: g une ligne de code comme celle-ci bfkjdbcjskdcdbfjkdfbjkdsfbkjsjvifljlidsbchdbcvbhdbc Recherche d'une chaine de caractère dans un fichiers et affichage du paragraphe contenant la chaine? [ par dolu007 ] j'ai besoin de programmer un logiciel qui va me permettre de rechercher un mot ou une chaine de caractèredans un fichier lui meme contenu dans un répe MOTEUR DE RECHERCHE [ par loupile ] bonjour, j'ai fais un moteur de recherche, oui mais voila il ne fonctionne que sur une chaine ... normale  je recupère la valeur de mon champ de reche Comment autoriser uniquement les caracteres alphanumeriques dans une chaine ? [ par WizardNx ] Salut ! Voilà, j'ai un petit probleme... Je suis pas très très fort avec les syntaxes ereg... Ce que je veux faire c'est interdire tout caractère qui MOTEUR DE RECHERCHE [ par inkographik ] Bonjour a tous, Voila, je suis vraiment débutante, j'ai réalisé un site de 10 pages dans lequel je dois intégrer un moteur de recherche. Mes connaissa Recherche par mot-clés [ par balistik35 ] Bonjour,Je cherche à faire une recherche par mot-clés dans ma base de données MySQL mais avec une certaine condition. Je développe un site de question Recherche de caractère precis dans une chaine de caractère [ par darkdog85 ] Voila je cherche a scanner la chaine de caractère email, pour savoir si le @ et présent. Bien sur, viendra les espaces, le "." etc mais je n'arrive pa A la recherche d'un chat en barrre style le chat de facebook [ par landolsi10 ] Bonjour, Après avoir beaucoup cherche sur des moteur de recherche je recherche un chat en barre style Facebook mais malheureusement aucun résultat. Site bilingue [ par yaovi ] Cher , Je vous pris de m'aider car je suis à la recherche d'une solution , je cherche un script ou codes pour faire un site bilingue (français /angla


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,312 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales