溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

JavaScript如何實(shí)現(xiàn)校驗(yàn)Number(4,1)格式的數(shù)字

發(fā)布時(shí)間:2021-07-21 14:20:34 來(lái)源:億速云 閱讀:161 作者:小新 欄目:web開發(fā)

小編給大家分享一下JavaScript如何實(shí)現(xiàn)校驗(yàn)Number(4,1)格式的數(shù)字,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

項(xiàng)目里面有個(gè)錄入,需要數(shù)字格式進(jìn)行校驗(yàn),前端使用的是miniUI框架,miniUI文檔里面自帶了校驗(yàn),vtype="float",校驗(yàn)浮點(diǎn)數(shù)的,但是它不能做到校驗(yàn)這個(gè)浮點(diǎn)數(shù)有幾位整數(shù)和幾位小數(shù),所以就有必要重寫寫一個(gè)js函數(shù)來(lái)校驗(yàn):

實(shí)現(xiàn)思路:

1.獲取所填寫的值

2.判斷是否為空,不為空?qǐng)?zhí)行3

3.對(duì)字符串trim()去空格,并且判斷以”.”開始或者結(jié)尾的都不是合法的數(shù)字,給出提示。

4.提前判斷字符串是否是true或者false,因?yàn)橄旅嬉褂肗umber函數(shù),它可以把true和false轉(zhuǎn)為1和0,所以需要在使用之前作判斷,如果字符串是這個(gè)則給出提示

5.對(duì)字符串使用Number函數(shù)轉(zhuǎn)型為數(shù)字,如果轉(zhuǎn)型后的值為0,說(shuō)明原來(lái)的字符串為空;如果轉(zhuǎn)型后的數(shù)字為NaN,說(shuō)明原來(lái)的字符串不是純數(shù)字字符串。都給出相應(yīng)提示,如果是純數(shù)字字符串則執(zhí)行6

6.將轉(zhuǎn)型后的數(shù)值轉(zhuǎn)為String類型,先判斷數(shù)值的長(zhǎng)度是否合法,不合法給出提示,合法執(zhí)行7

7.判斷數(shù)值的整數(shù)位是否符合Number類型所定義的,大于最小值小于等于最大值,如果合法執(zhí)行8,不合法給出提示;

8,判斷小數(shù)位,利用substring()函數(shù),如果合法則return true;反之則給出相應(yīng)的錯(cuò)誤提示。

實(shí)現(xiàn)代碼:     

 //校驗(yàn)number(4,1)
  function check(v){
   var str = mini.get(v).getValue();
   //非空
   if(str!=null && str.length>0){
    str = str.trim();//去掉空格
    if(str.substring(0,1)=="." || str.substring(str.length-1)=="."){
     mini.alert("請(qǐng)輸入有效的數(shù)值");
     return false;
    }
    //排除Boolean值
    if(str==true||str==false){
     mini.alert("請(qǐng)輸入合法的數(shù)值");
     return false;
    }else {
     var num = Number(str);//將字符串轉(zhuǎn)為數(shù)字類型
     if(num == 0){//輸入的字符串為空
      mini.alert("請(qǐng)輸入合法的值");
      return false;
     }else if(isNaN(num)==true){//輸入的為非數(shù)字型字符串
      mini.alert("請(qǐng)輸入合法的值");
      return false;
     }else {//純數(shù)字字符
      num = num.toString();
      var numLenth = num.length;
      if (numLenth >5) {
       mini.alert("數(shù)值超過(guò)有效長(zhǎng)度");
       return false;
      }else{//有效數(shù)字
       var pointIndex = num.indexOf(".");
       if (num.substring(0,pointIndex).length>3 || num.substring(0,pointIndex).length<=0) {//整數(shù)部分必須在1-3位數(shù)字
        mini.alert("整數(shù)部分有效數(shù)字長(zhǎng)度超過(guò)有效范圍");
        return false;
       }else if(pointIndex>0){//判斷小數(shù)部分
        if(num.substring(pointIndex).length>2 ||(num.substring(pointIndex).length==1)){
         mini.alert("小數(shù)部分不是有效的");
         return false;
        }
       }
      }
     }
    }
   }
   return true;
  }

以上是“JavaScript如何實(shí)現(xiàn)校驗(yàn)Number(4,1)格式的數(shù)字”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI