js提取/獲取字符串里面連續的數字


比如 str="sdf342dsf453df2"  ,提取出去變為,[342,453];這里主要使用到方法是正則表達式.

具體看代碼

<!DOCTYPE html>
<html>

<head>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>


</body>

</html>

<script>
    

    var str = "013d1we22ewfa33rr4rwq0dsf00dsf9fas999";

    var getNum = function (Str,isFilter) {
   //用來判斷是否把連續的0去掉
        isFilter = isFilter || false;
        if (typeof Str === "string") {
            // var arr = Str.match(/(0\d{2,})|([1-9]\d+)/g);
            //"/[1-9]\d{1,}/g",表示匹配1到9,一位數以上的數字(不包括一位數).
            //"/\d{2,}/g",  表示匹配至少二個數字至多無窮位數字
            var arr = Str.match( isFilter ? /[1-9]\d{1,}/g : /\d{2,}/g);
            console.log(arr);
            return arr.map(function (item) {
                //轉換為整數,
                //但是提取出來的數字,如果是連續的多個0會被改為一個0,如000---->0,
                //或者0開頭的連續非零數字,比如015,會被改為15,這是一個坑
                // return parseInt(item);
                //字符串,連續的多個0也會存在,不會被去掉
                return item;
            });
        } else {
            return [];
        }
    }
    console.log(getNum(str));//默認不加1,即不會把提取出來的0去掉
</script>

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM