亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JavaScript判斷輸入值是否為正整數(shù)(判斷變量為數(shù)字)

 更新時間:2023年11月10日 11:51:24   作者:歷史老師-  
在項目開發(fā)中,有時候需要使用JavaScript驗證用戶輸入的是否為正整數(shù),這篇文章主要給大家介紹了關于JavaScript判斷輸入值是否為正整數(shù)(判斷變量為數(shù)字)的相關資料,需要的朋友可以參考下,

這篇文章將討論如何確定一個變量是否代表 JavaScript 中的有效數(shù)字。

1.JS中的test是原來是JS中檢測字符串中是否存在的一種模式,JS輸入值是否為判斷正整數(shù)代碼:

<script type=”text/javascript”> 
  function test() { 
    var num = document.getElementById(“num”).value; 
    if (num==”") { 
      alert(‘請輸入內容'); 
      return false; 
    } 
    if (!(/(^[1-9]\d*$)/.test(num))) { 
      alert(‘輸入的不是正整數(shù)'); 
      return false; 
    }else { 
      alert(‘輸入的是正整數(shù)'); 
    } 
  } 
</script> 

<html> 
<body> 
<input type=”text” id=”num” /> 
<input type=”button” value=”測試” οnclick=”return test()” /> 
</body> 
</html> 

擴展:

附判斷數(shù)字、浮點的正則表達: 

  • ”^\\d+$” //非負整數(shù)(正整數(shù) + 0)
  • “^[0-9]*[1-9][0-9]*$” //正整數(shù)
  • “^((-\\d+)|(0+))$” //非正整數(shù)(負整數(shù) + 0)
  • “^-[0-9]*[1-9][0-9]*$” //負整數(shù)
  • “^-?\\d+$” //整數(shù)
  • “^\\d+(\\.\\d+)?$” //非負浮點數(shù)(正浮點數(shù) + 0)
  • “^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$” //正浮點數(shù)
  • “^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$” //非正浮點數(shù)(負浮點數(shù) + 0)
  • “^(-?\\d+)(\\.\\d+)?$” //浮點數(shù)

2.使用 jQuery

使用 jQuery 庫,您可以使用 $.isNumeric() 方法,它確定傳遞的值是否代表一個有效的數(shù)值。如果值是 number 或 string 類型并且可以強制轉換為有限數(shù),則返回 true。

const { JSDOM } = require("jsdom");
const { window } = new JSDOM();
var $ = require("jquery")(window);
 
const isNumber = n => $.isNumeric(n);
 
isNumber(1);                // true
isNumber(0);                // true
isNumber(-1);               // true
 
isNumber(new Number(1));    // true
 
isNumber(1.0);              // true
isNumber(1.1);              // true
isNumber(Math.PI);          // true
 
isNumber('1');              // true
isNumber('string');         // false
 
isNumber(NaN);              // false
isNumber(Infinity);         // false
isNumber(-Infinity);        // false
 
isNumber(true);             // false
isNumber(undefined)         // false
isNumber([1]);              // false

3. 使用 typeof 操作符

在純 JavaScript 中,您可以使用 typeof 運算符,它返回一個指示操作數(shù)類型的字符串。您可以將其與嚴格的相等運算符一起使用,以檢查原始數(shù)值。此外,要檢查 Number 對象也是如此,您可以使用 instanceof 運算符,如下

const isNumber = n => (typeof(n) === 'number' || n instanceof Number);
 
isNumber(new Number(1));    // true
isNumber(0);                // true
isNumber(-1);               // true
 
isNumber(new Number(1));    // true
 
isNumber(1.0);              // true
isNumber(1.1);              // true
isNumber(Math.PI);          // true
                    
isNumber('1');              // false
isNumber('string');         // false
                    
isNumber(NaN);              // true
isNumber(Infinity);         // true
isNumber(-Infinity);        // true
                    
isNumber(true);             // false
isNumber(undefined);        // false
isNumber([1]);              // false

上述解決方案返回 true +Infinity-Infinity, 和 NaN (不是數(shù)字)。此外,它不適用于可以強制轉換為有限數(shù)字的字符串。要處理此問題,請?zhí)砑右恍└郊訔l件 isFinite() 和 isNaN() 方法。

const isNumber = n => (typeof(n) === 'number' || n instanceof Number ||
                    (typeof(n) === 'string' && !isNaN(n))) &&
                    isFinite(n);
 
isNumber(1);                // true
isNumber(0);                // true
isNumber(-1);               // true
 
isNumber(new Number(1));    // true
 
isNumber(1.0);              // true
isNumber(1.1);              // true
isNumber(Math.PI);          // true
                        
isNumber('1');              // true
isNumber('string');         // false
                        
isNumber(NaN);              // false
isNumber(Infinity);         // false
isNumber(-Infinity);        // false
                        
isNumber(true);             // false
isNumber(undefined);        // false
isNumber([1]);              // false

4. 使用一元加

最后,您可以檢查數(shù)值 一元加號 (+) 運算符,如下圖:

const isNumber = n => (n === +n);
 
isNumber(1);                // true
isNumber(0);                // true
isNumber(-1);               // true
 
isNumber(new Number(1));    // false
 
isNumber(1.0);              // true
isNumber(1.1);              // true
isNumber(Math.PI);          // true
                            
isNumber('1');              // false
isNumber('string');         // false
                            
isNumber(NaN);              // false
isNumber(Infinity);         // true
isNumber(-Infinity);        // true
                            
isNumber(true);             // false
isNumber(undefined);        // false
isNumber([1]);              // false

請注意,這不適用于 Number 反對,并考慮 +Infinity 和 -Infinity 作為數(shù)字。此外,它不處理可以強制轉換為有限數(shù)字的字符串。這些可以以與之前的解決方案相同的方式處理。

5.使用isNaN()函數(shù)

isNaN()的缺點就在于 null、空格以及空串會被按照0來處理

NaN: Not a Number

/**
*判斷是否是數(shù)字
*
**/
function isRealNum(val){
    // isNaN()函數(shù) 把空串 空格 以及NUll 按照0來處理 所以先去除
    // if(val === "" || val ==null){
        // return false;
    //}
//或者 直接判斷  前提是要將值轉為number類型
 if(typeof val !== 'number'){
     return false;
   }else{
 if(!isNaN(val)){
        return true;
    }else{
        return false;
    }
}
}

6.使用正則表達式 

/**
* 校驗只要是數(shù)字(包含正負整數(shù),0以及正負浮點數(shù))就返回true
**/
function isNumber(val){
    var regPos = /^\d+(\.\d+)?$/; //非負浮點數(shù)
    var regNeg = /^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/; //負浮點數(shù)
    if(regPos.test(val) || regNeg.test(val)){
        return true;
    }else{
        return false;
    }
}
/**
* 校驗正負正數(shù)就返回true
**/
function isIntNum(val){
    var regPos = / ^\d+$/; // 非負整數(shù)
    var regNeg = /^\-[1-9][0-9]*$/; // 負整數(shù)
    if(regPos.test(val) || regNeg.test(val)){
        return true;
    }else{
        return false;
    }
}

總結 

到此這篇關于JavaScript判斷輸入值是否為正整數(shù)的文章就介紹到這了,更多相關JS判斷輸入值為正整數(shù)內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 淺析Bootstrap驗證控件的使用

    淺析Bootstrap驗證控件的使用

    這篇文章主要介紹了淺析Bootstrap驗證控件的使用 的相關資料,非常不錯具有參考借鑒價值,需要的朋友可以參考下
    2016-06-06
  • js實現(xiàn)帶有動畫的返回頂部

    js實現(xiàn)帶有動畫的返回頂部

    這篇文章主要為大家詳細介紹了js實現(xiàn)帶有動畫的返回頂部,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • js實現(xiàn)帶有介紹的Select列表菜單實例

    js實現(xiàn)帶有介紹的Select列表菜單實例

    這篇文章主要介紹了js實現(xiàn)帶有介紹的Select列表菜單,涉及javascript頁面元素的動態(tài)操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-08-08
  • JS結合WebSocket實現(xiàn)實時雙向通信

    JS結合WebSocket實現(xiàn)實時雙向通信

    WebSocket 是一種在 Web 應用程序中實現(xiàn)實時、雙向通信的協(xié)議,在本文中,我們將深入介紹 WebSocket 的原理、用法以及一些實際應用場景,x需要的可以參考下
    2023-11-11
  • input框中自動展示當前日期yyyy/mm/dd的實現(xiàn)方法

    input框中自動展示當前日期yyyy/mm/dd的實現(xiàn)方法

    下面小編就為大家?guī)硪黄猧nput框中自動展示當前日期yyyy/mm/dd的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • JS+CSS實現(xiàn)帶小三角指引的滑動門效果

    JS+CSS實現(xiàn)帶小三角指引的滑動門效果

    這篇文章主要介紹了JS+CSS實現(xiàn)帶小三角指引的滑動門效果,可實現(xiàn)帶有箭頭提示效果的滑動門功能,涉及JavaScript動態(tài)操作頁面元素樣式的相關技巧,需要的朋友可以參考下
    2015-09-09
  • Bootstrap提示框效果的實例代碼

    Bootstrap提示框效果的實例代碼

    本篇文章主要介紹了Bootstrap提示框效果的實例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • 解決layui動態(tài)加載復選框無法選中的問題

    解決layui動態(tài)加載復選框無法選中的問題

    今天小編就為大家分享一篇解決layui動態(tài)加載復選框無法選中的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • JavaScript對數(shù)字的判斷與處理實例分析

    JavaScript對數(shù)字的判斷與處理實例分析

    這篇文章主要介紹了JavaScript對數(shù)字的判斷與處理方法,實例分析了javascript判斷數(shù)字的常見方法與針對數(shù)字處理的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-02-02
  • 多瀏覽器兼容的右下角廣告代碼(已測)

    多瀏覽器兼容的右下角廣告代碼(已測)

    支持FIREFOX IE7 IE6 周未就為了這個小效果,折騰死人了!找了很多的代碼都不行,不是不支持FIREFOX,就是對HTML和XHTML有要求!
    2008-04-04

最新評論