자바스크립트 문자열 개수 세기

var text = "1234 1234 1234";
var array = text.match(/4/g) // ["4","4","4"]
var cnt = array.length; // -> text에 들은 4갯수 = 3

// 한줄로
var cnt = text.match(/4/g).length;

 

 

제가 위의 소스를 사용하게된 상황은 아래같은 상황입니다.

textarea의 라인줄 갯수를 체크할려고 했습니다.

<textarea>
안녕하세요. 첫번째줄입니다.
안녕하세요. 두번째줄입니다.
안녕하세요. 세번째줄입니다.
</textarea>


<script>
	var text = $("textarea").val().trim(); // textarea 값 안에 양끝에 엔터값 제거
    
    // 라인이 몇개나 있는지 체크
    // 줄바꿈같은경우 특수문자가 들어있어서 대괄호로 묶어버림 
    // 1줄인경우 null값이 나와서 length가 오류가남
    var cnt = text.match(/[\n]/g) == null ? 1 : text.match(/[\n]/g).length+1; 
</script>

 

'WEB > 자바스크립트' 카테고리의 다른 글

자바스크립트 천단위 반점  (0) 2021.01.14
by Digoe 2021. 1. 15. 21:39

[ 소스-1 ]

function comma(num){
    var len, point, str; 

    num = num + "";  
    point = num.length % 3 ; 
    len = num.length; 

    str = num.substring(0, point); 

    while (point < len) { 
        if (str != "") str += ","; 
        str += num.substring(point, point + 3); 
        point += 3; 
    } 
    return str;
}

 

소스-1의 경우 소수점 자리적용이 안되는 문제가있다.

 

 

 

[ 소스-2 ]

function numberWithCommas(x) {
    x = x.toString();
    var pattern = /(-?\d+)(\d{3})/;
    while (pattern.test(x))
        x = x.replace(pattern, "$1,$2");
    return x;
}

 

 

[ 소스-3 ]

function numberWithCommas(x) {
    return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}

 

소스-2와 소스-3는 소수점까지 정확하게 처리된다.

'WEB > 자바스크립트' 카테고리의 다른 글

자바스크립트 문자열 개수 세기  (0) 2021.01.15
by Digoe 2021. 1. 14. 23:25
| 1 |