your programing

JavaScript의 문자열에서 숫자가 아닌 모든 문자 제거

lovepro 2020. 10. 2. 22:58
반응형

JavaScript의 문자열에서 숫자가 아닌 모든 문자 제거


JavaScript / ECMAScript를 사용하여 문자열에서 숫자가 아닌 모든 문자를 제거하려는 비 DOM 시나리오를 고려하십시오. 범위 내에있는 모든 문자는 0 - 9유지되어야합니다.

var myString = 'abc123.8<blah>';

//desired output is 1238

평범한 JavaScript에서 어떻게 이것을 달성 할 수 있습니까? 이것은 비 DOM 시나리오이므로 브라우저 및 키 누르기 이벤트와 관련된 jQuery 및 기타 솔루션은 적합하지 않습니다.


숫자가 아닌 모든 문자와 일치하는 축약 문자 클래스 인 .replace정규식이 있는 문자열의 메서드를 사용합니다 \D.

myString = myString.replace(/\D/g,'');

플로트 숫자에 점을 남기기 위해 이것이 필요하면 이것을 사용하십시오

var s = "-12345.50 €".replace(/[^\d.-]/g, ''); // gives "-12345.50"

스크립트 구현에서 지원하는 경우 정규식을 사용하십시오. 다음과 같은 것 :

myString.replace(/[^0-9]/g, '');

RegExp를 사용하여 숫자가 아닌 모든 문자 바꿀 수 있습니다 .

var myString = 'abc123.8<blah>';
myString = myString.replace(/[^\d]/g, ''); // 1238

라인을 따라 뭔가 :

yourString = yourString.replace ( /[^0-9]/g, '' );

시험

myString.match(/\d/g).join``

var myString = 'abc123.8<blah>'
console.log( myString.match(/\d/g).join`` );


우리는에 2,017 지금 당신은 또한 사용할 수 있습니다 ES2016을

var a = 'abc123.8<blah>';
console.log([...a].filter( e => isFinite(e)).join(''));

또는

console.log([...'abc123.8<blah>'].filter( e => isFinite(e)).join(''));  

결과는

1238

참고 URL : https://stackoverflow.com/questions/1862130/strip-all-non-numeric-characters-from-string-in-javascript

반응형