1. 程式人生 > 其它 >parseInt 函式可以把數字+字母識別成數字

parseInt 函式可以把數字+字母識別成數字

在用正則表示式判斷是否輸入的數值為數字時, 發現數字+字母的組合比如12a, 都被識別為數字.

試了各種方法, 最後發現原來是在開始時, 先使用了parseInt把輸入的數值處理了一下, 這樣12a, 就變成了12, 所以出問題了.

去掉parseInt,問題就解決了, 以下是parseInt的測試過程:

 

<!DOCTYPE html> <html lang="en">
<head>     <meta charset="UTF-8">     <meta name="viewport" content="width=device-width, initial-scale=1.0">     <title>Document</title> </head>
<body>     <script>         var arr = ['abc', '123', 'a12', '1ab', 'ab1', '12a', 'a12', '1a2', '12.a'];
        var result = [];
        arr.forEach(function (val) {
            result.push({
                val: val,
                result: parseInt(val)
            });
        });
        console.table(result);
        // 執行結果:         // (索引) val  result         // 0    'abc'   NaN         // 1    '123'   123         // 2    'a12'   NaN         // 3    '1ab'   1         // 4    'ab1'   NaN         // 5    '12a'   12         // 6    'a12'   NaN         // 7    '1a2'   1         // 8    '12.a'  12     </script> </body>
</html>