var patt = /^(?=.*[a-zA-Z0-9.!@#&*\-\u0080-\u052F])[a-zA-Z0-9\s.!@#&*',\-\u0080-\u052F]*$/;
console.log(patt.test("\u002f"));

Je sais que u002f est une barre oblique en Unicode. J'ai essayé d'ajouter cela au modèle ainsi que "/" et je n'ai pas encore pu le faire enregistrer vrai.

7
webdev5 22 juil. 2015 à 17:57

2 réponses

Meilleure réponse

Il est facile d'ajouter une barre oblique, il suffit de l'échapper. Pas besoin d'utiliser des références de caractères ou des entités.

var patt = /^(?=.*[a-zA-Z0-9.!@#&*\-\u0080-\u052F])[\/a-zA-Z0-9\s.!@#&*',\-\u0080-\u052F]*$/;
                                                    ^                 
var patt = /^(?=.*[a-zA-Z0-9.!@#&*\-\u0080-\u052F])[\/a-zA-Z0-9\s.!@#&*',\-\u0080-\u052F]*$/;
alert(patt.test("/test"));
5
Wiktor Stribiżew 22 juil. 2015 à 15:05

Vous pouvez échapper un caractère / en utilisant \/.

L'utilisation d'unicode entraînera en fait le résultat absolu , comme l'utilisation du caractère lui-même - et ne résoudra donc pas votre problème.

8
slartidan 22 juil. 2015 à 15:00