j'ai l'expression régulière .NET suivante, qui valide mes données sur le back-end:Regex .NET qui est traduit à JavaScript Regex fonctionne testeur mais pas dans le code
[_#\p{Ll}\p{Lu}0-9]{1}[/()0-9\p{Ll}\p{Lu}_\.\s-\?]*
je dois faire la même validation en JavaScript, donc je traduis comme ceci:
^[#\\u0400-\\u04FF\w][\/\(\).\\u0400-\\u04FF\s\w]*
il est bizarre que cela fonctionne très bien dans le testeur en ligne, mais il ne fonctionne pas dans la console ou dans mon code:
function ValidateColumnName(strColName){
var regex = /^[#\\u0400-\\u04FF\w][\/\(\).\\u0400-\\u04FF\s\w]*/gu;
return regex.test(strColName);
}
ValidateColumnName("中");
Voici une link to my regex online
Le sens de l'expression rationnelle doit être:
Il peut commencer par un de ces symboles: _, #, lettre (unicode autorisé), numéro
Il peut continuer avec un ou plusieurs de ceci: /, (, ), numer, lettre (unicode permis), -, ., espaces
chaînes Exemple:
Pass:
тест
12тест
_тест
_test
тест()
те\ст/
...
Non passe:
()тест
$test
!тест
-тест
...
me manque i quelque chose qui est dans le testeur en ligne (par défaut), mais pas dans mon code?
Le code que vous avez modifié la question ne correspond pas à la version dans l'image que vous avez affichée à l'origine. Avec '\\ u0400' ça ne marche pas, mais avec un simple' \\ 'c'est fait. – Pointy
@Pointy vous avez raison, mon erreur. C'était une mauvaise version que j'ai essayée. Maintenant je l'ai édité encore – Nyagolova