2010-05-05 3 views
0

J'ai un champ de texte libre sur mon formulaire où les utilisateurs peuvent taper n'importe quoi. Certains utilisateurs sont en train de coller du texte dans ce champ à partir de documents Word avec des caractères étranges que je ne veux pas utiliser dans ma base de données. (par exemple, les caractères de police webding) J'essaie d'obtenir une expression régulière qui ne me donnerait que l'alphanum et les caractères de ponctuation. Mais quand j'essaie ce qui suit, la sortie est toujours tous les caractères. Comment puis-je les laisser dehors?Regex: Comment omettre les caractères de police webding?

<html><body><script type="text/javascript">var str="";document.write(str.replace(/[^a-zA-Z 0-9 [:punct]]+/g, " "));</script></body></html> 

Répondre

1

Si vous voulez uniquement des fichiers ASCII, utilisez /[^ -~]+/ comme regex. Le problème est votre instruction [:punct:]. Peut-être que javascript ne supporte pas [:punct:]?

+0

Ou peut-être le problème était-il écrit comme '[: punct]' plutôt que '[: punct:]'? – Senseful

+0

'[: punct:]' est un exemple de classe de caractères POSIX, et non, JavaScript ne les supporte pas. –

+0

@eagle J'ai testé avec l'orthographe correcte. Et, comme l'a dit Alan Moore, j'avais raison. – ZyX

Questions connexes