Programming/JavaScript2016. 5. 9. 23:54


정규식을 사용한 숫자콤마표시

javascript에서 천단위로 콤마찍기


자바스크립트에서 정규식을 사용하여 숫자에 천단위로 콤마를 찍는 방법


function fnComma(param) {

    if( param != null ) {

        var numStr = param.toString().trim();

        var reg = /(^[+-]?\d+)(\d{3})/;


        while( reg.test(numStr) ) {

            numStr = numStr.replace(reg, '$1,$2');

        }

        return numStr;

    }

}

var tmp = '1234567';

alert( fnComma(tmp) );


() : 패턴을 찾고 일치하는 항목을 저장

^ : 문자열의 처음

[] : 문자의 집합이나 범위

? : 직전의 선행문자가 0번 또는 1번 나타나는 문자열

\d : 숫자

+ : 직전의 선행문자가 0번 또는 1번 나타나는 문자열

{} : {}내의 숫자는 직전의 선행문자가 나타나는 횟수

test : 패턴이 있으면 true 없으면 false


-> reg

패턴1 ( 문자열의 첫번째 글자가 + or - or 생략 으로 시작하는 숫자 )

패턴2 ( 연속된 숫자 3개 )

'$1,$2' : 패턴1 + ',' + 패턴2


입력 : 1234567

while(

-> 1234,567

-> 1,234,567

)

=> 1,234,567


----------------------------------------------------------------------


자바스크립트에서 정규식으로 trim을 구현하는 방법


String.prototype.trim = function() {

    return this.replace(/^\s+|\s+$/g, "");

}

var tmp = ' 123 ';

alert( tmp.trim() );


\s : 공백

| : or

$ : 문자열의 끝

g : 해당 패턴이 나타나는 모든항목검색

i : 대소문자 구분안함


-> 문자열의 시작이 공백이거나 끝이 공백인 문자를 찾는다. 공백으로 replace

=> 123




Posted by jvvj