2009-09-28 3 views
3

Merci d'avance.Expression régulière en javascript pour supprimer tout ce qui n'est pas: a-z 0-9 et trait d'union

Je voudrais une expression régulière qui supprime tout ce qui n'est pas alphanumérique et un trait d'union. Ainsi autorisés sont A-Z 0-9 et -.

Aussi, comment pourrais-je l'appliquer à une chaîne de caractères en Javascript?

Merci encore.

+0

Montrez-nous vos essais. Nous ferons de notre mieux pour vous aider à les réparer. –

+2

remplacer [^ A-Z0-9 \ - \.] + Avec rien – jantimon

+0

remplacer un commentaire par une réponse? – nickf

Répondre

8
var str = '[email protected]#$'; 
str.replace(/[^-a-z0-9]/ig,''); 
+1

'a23a-asd'.replace (/ [^ - a-z \ d]/ig,' '); (oublié le \ d): D –

1

Essayez ceci:

str = str.replace(/[a-zA-Z\d-]/g, ""); 
+0

Vous voulez dire [^ \ w \ d-] '. – Gumbo

+0

Non, '\ w' inclut des caractères de soulignement que l'OP n'a pas demandés. –

+0

@Andrew Hare: Mais vous aviez d'abord '[\ w \ d-]'. – Gumbo

0
var output = input.replace(/[^A-Za-z0-9-]/g, ""); 
+1

vous avez besoin du drapeau ** g ** lobal pour cela sinon il ne fait que remplacer le premier match. – nickf

0

chaîne .replace (/ [^ a-zA-Z0-9 -]/g "");

0
$(document).ready(function (e) { 
     $('#Box, #Window').keyup(function(){ 
      var $th = $(this); 
      $th.val($th.val().replace(/[^a-zA-Z0-9]/g, function(str){return '';})); 
     }); 

    }); 

Ceci peut être utilisé pour valider des valeurs alphanumériques.

Questions connexes