답변:
문자 또는 숫자 이외의 항목을 일치 시키려면 다음을 시도해보십시오.
[^a-zA-Z0-9]
그리고 교체 :
var str = 'dfj,dsf7lfsd .sdklfj';
str = str.replace(/[^A-Za-z0-9]/g, ' ');
당신이 찾고있는:
var yourVar = '1324567890abc§$)%';
yourVar = yourVar.replace(/[^a-zA-Z0-9]/g, ' ');
이것은 영숫자가 아닌 모든 문자를 공백으로 바꿉니다.
끝에있는 "g"는 모든 항목을 대체합니다.
az (소문자) 및 AZ (대문자)를 지정하는 대신 대소 문자를 구분하는 옵션을 사용할 수도 있습니다 /[^a-z0-9]/gi
..
이것은 너무 늦었지만 받아 들여진 대답이 없기 때문에 가장 단순한 대답을 제공하고 싶습니다. \ D-숫자가 아닌 모든 문자와 일치합니다.
var x = "123 235-25%";
x.replace(/\D/g, '');
x의 결과 : "12323525"
참조 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions를
str.replace (/ [^ \ w] /); 문자열에서 알파벳이 아닌 모든 숫자와 숫자를 대체합니다!
편집 1 : str.replace(/[^\w]/g, ' ')
str.replace(/[^\w]/g, ' ')
. /g
플래그를 포함하지 않으면 첫 번째 항목 만 대체됩니다. 그리고 대체 문자열을 정의하지 않으면 여기에 공백이 있으면 모든 곳에서 ' '
대체됩니다 undefined
. 마지막으로 밑줄은 일치하기 때문에 대체되지 않습니다 \w
. 이 답변은 완벽하지 않습니다.
/[A-Z]/ig
/[^A-Z]/ig
/[0-9]/g
또는/\d+/g
/[^0-9]/g
또는/\D+/g
/[^A-Z0-9]/ig
다른 가능한 패턴이 있습니다
시도해 str = str.replace(/\W|_/g,'');
보면 문자없이 문자열이 반환되며 파이프 막대 뒤에 특수 문자가 있는지도 지정할 수 |
있습니다.
var str = "1324567890abc§$)% John Doe #$@'.replace(/\W|_/g, '');
그것은 돌아올 것이다 str = 1324567890abcJohnDoe
또는 숫자와 문자를 찾아 빈 문자열 ( "")로 바꿉니다.
var str = "1324567890abc§$)% John Doe #$@".replace(/\w|_/g, '');
그것은 돌아올 것이다 str = '§$)% #$@';
문자, 숫자 또는 문자 이외의 것을 분음 부호와 일치 시키려면 é
다음을 시도해보십시오.
[^\wÀ-úÀ-ÿ]
그리고 교체 :
var str = 'dfj,dsf7é@lfsd .sdklfàj1';
str = str.replace(/[^\wÀ-úÀ-ÿ]/g, '_');
분음 부호를 지원하는 상위 게시물에서 영감을 얻음
\w
는 Word 문자 용이며 정확히 동일합니다[a-zA-Z0-9_]
(밑줄은 단어 문자로 간주 됨에 유의하십시오.) ... 그래서 속기는str.replace(/[^\w]/g, ' ')