Bonjour,
Actuellement, j'ai une liste de r�f�rence produit.
Chaque r�f�rence produit est constitu�e des caract�res suivants : lettre en majuscule, chiffres, certains caract�res sp�ciaux (".", "/", "-", "*", "_", "(", ")").
Les r�f�rences produit ne contiennent pas d'espace.
J'ai cr�� un syst�me de recherche qui affiche la liste de produits associ�s en fonction de la valeur d'un champs de recherche renseign�e par l'utilisateur.
Bien que les r�f�rences soient renseign�es dans la BDD qu'avec des lettre en majuscule, si l'utilisateur entre des minuscules, la recherche fonctionne quand m�me.
Bien que les r�f�rences soient renseign�es dans la BDD sans contenir d'espaces, si l'utilisateur entre des espaces, ceux-ci sont ignor�s dans la recherche.
Le caract�re "�" est remplac� dans la recherche par le caract�re "U".
Par exemple, si on a cette BDD :
Si l'utilisateur entre dans le champs de recherche "124 �S", �a affiche :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4 AAA-123US AAA-124US BBB-124US BBB-124AS
Voici que le code qui g�n�re le regex :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2 AAA-124US BBB-124US
La BDD (Base De Donn�es) est stock�e sous forme de variable dans mon script javascript :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 function getProductRegex(reference){ //console.log(reference); let newReference = reference.replace('µ', 'U') // remplacement µ par U .toUpperCase() // conversion en majuscule .split(' ').join(''); // suppression des espaces //console.log(newReference); let re = $.ui.autocomplete.escapeRegex(newReference); let matcher; matcher = new RegExp(re); return matcher; }
Code : S�lectionner tout - Visualiser dans une fen�tre � part var bdd = ["AAA-123US", "AAA-124US", "BBB-124US", "BBB-124AS"];
Maintenant, j'aimerai am�liorer le syst�me pour que la recherche fonctionne par mots clefs s�par�s par des espace.
Par exemple si l'utilisateur entre dans le champs de recherche "�S 124 BBB", que �a affiche :
... que le regex recherche toutes les chaines de caract�res qui contiennent TOUS les mots clef entr�s (peu importe l'ordre).
Code : S�lectionner tout - Visualiser dans une fen�tre � part BBB-124US
Comment faire cela ?
Merci d'avance
Partager