jQuery remove special characters from string and more

后端 未结 7 1708
北荒
北荒 2020-12-12 17:58

I have a string like this:

var str = \"I\'m a very^ we!rd* Str!ng.\";

What I would like to do is removing all special characters from the a

相关标签:
7条回答
  • 2020-12-12 18:24

    Remove numbers, underscore, white-spaces and special characters from the string sentence.

    str.replace(/[0-9`~!@#$%^&*()_|+\-=?;:'",.<>\{\}\[\]\\\/]/gi,'');
    

    Demo

    0 讨论(0)
  • 2020-12-12 18:25

    replace(/[^a-z0-9\s]/gi, '') will filter the string down to just alphanumeric values and replace(/[_\s]/g, '-') will replace underscores and spaces with hyphens:

    str.replace(/[^a-z0-9\s]/gi, '').replace(/[_\s]/g, '-')
    

    Source for Regex: RegEx for Javascript to allow only alphanumeric

    Here is a demo: http://jsfiddle.net/vNfrk/

    0 讨论(0)
  • 2020-12-12 18:30
    str.toLowerCase().replace(/[\*\^\'\!]/g, '').split(' ').join('-')
    
    0 讨论(0)
  • 2020-12-12 18:34

    Assuming by "special" you mean non-word characters, then that is pretty easy.

    str = str.replace(/[_\W]+/g, "-")
    
    0 讨论(0)
  • 2020-12-12 18:35

    Since I can't comment on Jasper's answer, I'd like to point out a small bug in his solution:

    str.replace(/[^a-z0-9\s]/gi, '').replace(/[_\s]/g, '-');
    

    The problem is that first code removes all the hyphens and then tries to replace them :) You should reverse the replace calls and also add hyphen to second replace regex. Like this:

    str.replace(/[_\s]/g, '-').replace(/[^a-z0-9-\s]/gi, '');
    
    0 讨论(0)
  • 2020-12-12 18:45

    this will remove all the special character

     str.replace(/[_\W]+/g, "");
    

    this is really helpful and solve my issue. Please run the below code and ensure it works

    var str="hello world !#to&you%*()";
    console.log(str.replace(/[_\W]+/g, ""));

    0 讨论(0)
提交回复
热议问题