Cr�ation d'un regex avanc�
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 :
Code:
1 2 3 4
| AAA-123US
AAA-124US
BBB-124US
BBB-124AS |
Si l'utilisateur entre dans le champs de recherche "124 �S", �a affiche :
Voici que le code qui g�n�re le regex :
Code:
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;
} |
La BDD (Base De Donn�es) est stock�e sous forme de variable dans mon script javascript :
Code:
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).
Comment faire cela ?
Merci d'avance