development

jQuery는 문자열 등에서 특수 문자를 제거합니다.

big-blog 2021. 1. 9. 11:26
반응형

jQuery는 문자열 등에서 특수 문자를 제거합니다.


다음과 같은 문자열이 있습니다.

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

내가하고 싶은 것은 위의 문자열에서 모든 특수 문자를 제거하고 공백을 대체하고 입력되는 경우 밑줄을-문자로 바꾸는 것입니다.

위의 문자열은 "변환"후에 다음과 같습니다.

var str = 'im-a-very-werd-strng';

replace(/[^a-z0-9\s]/gi, '')문자열을 영숫자 값으로 만 필터링하고 replace(/[_\s]/g, '-')밑줄과 공백을 하이픈으로 바꿉니다.

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

Regex 용 소스 : Javascript 용 RegEx는 영숫자 만 허용합니다.

다음은 데모입니다. http://jsfiddle.net/vNfrk/


"특수"로 단어가 아닌 문자를 의미한다고 가정하면 매우 쉽습니다.

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

str.toLowerCase().replace(/[\*\^\'\!]/g, '').split(' ').join('-')

문자열 문장에서 숫자, 밑줄, 공백 및 특수 문자를 제거하십시오.

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

데모


Jasper의 답변에 대해 언급 할 수 없기 때문에 그의 솔루션에서 작은 버그를 지적하고 싶습니다.

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

문제는 첫 번째 코드가 모든 하이픈을 제거한 다음이를 교체하려고한다는 것입니다. :) replace 호출을 반대로하고 두 번째 replace regex에 하이픈을 추가해야합니다. 이렇게 :

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

Jquery의 모든 특수 문자 제거 / 바꾸기 :

경우 STR 내 이름은 "Ghanshyam"이고 "자바"배경에서 =

모든 특수 문자 ( ")를 제거한 다음 사용하려면

str = str.replace (/ "/ g, '')

결과 : 제 이름은 Ghanshyam이고 Java 배경에서

g는 Global @Thanks를 의미합니다.

참조 URL : https://stackoverflow.com/questions/8979619/jquery-remove-special-characters-from-string-and-more

반응형