整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          編程技巧:Jquery實時驗證,指定長度的「正整數」

          編程技巧:Jquery實時驗證,指定長度的「正整數」

          了保障【正整數】的正確性,做成了通過Jquery,在用戶端,實時驗證指定長度的【正整數】的方法。

          HTML代碼

          <input type="text" class="force-number-format-10" .../>

          JS調用方法

              $(document.body).find("input[type=text]").each(function() {
                  // 驗證輸入內容
                  callCustomiseInputCheck(this);
              });
          

          驗證【正整數】類型方法

          function callCustomiseInputCheck(inputObject) {
              jQuery.each(inputObject.classList, function(itemIndex, classItem) {
                  if (/^force\-number\-format\-\d{1,}$/.test(classItem)) {
                      //例:<input type="text" class="force-number-format-10" .../>
                      // 方法【runInputFilter】,參照文章【Jquery實時驗證,只能輸入指定長度的數字】
                      runInputFilter(inputObject, ',', function(value) {
                          var strRegExp='^\\d{0,' + classItem.split('-')[3] + '}$';
                          var regExp=RegExp(strRegExp);
                          return regExp.test(value);
                      });
                      //格式化
                      postLostFocus(inputObject, function(inputObject) {
                          if (inputObject.value !=null) {
                              inputObject.value=inputObject.value.replaceAll(/^(0*)(\d*\d{1})$/ig, function($0, $1, $2) {
                                  return $2;
                              });
                          }
                          inputObject.value=CommonUtilJs.addComma(inputObject.value);
                      });
                  }
              });
          }

          共通處理方法

          家好,很高興又見面了,我是姜茶的編程筆記,我們一起學習前端相關領域技術,共同進步,也歡迎大家關注、點贊、收藏、轉發,您的支持是我不斷創作的動力

          鐵子們!從 2024/07/26 開始,我們進入算法專題篇的學習啦 。學習計劃如下:

          1?? 每日一題;

          2?? 學習順序是由易到難;

          3?? 題目按照數據結構進行分類;

          4?? 每個類型的題目預計安排 100 道題(簡單/中等/困難各 33 道);

          題目描述

          給定一個由 整數 組成的 非空 數組所表示的非負整數,在該數的基礎上加一。

          最高位數字存放在數組的首位, 數組中每個元素只存儲單個數字。

          你可以假設除了整數 0 之外,這個整數不會以零開頭。

          示例 1:

          輸入:digits=[1,2,3]
          >
          輸出:[1,2,4]
          >
          解釋:輸入數組表示數字 123。

          示例 2:

          輸入:digits=[4,3,2,1]
          >
          輸出:[4,3,2,2]
          >
          解釋:輸入數組表示數字 4321。

          示例 3:

          輸入:digits=[0]
          >
          輸出:[1]

          提示:

          • 1 <=digits.length <=100
          • 0 <=digits[i] <=9

          分析/求解

          要解決這個問題,我們可以從數組尾部開始往前掃,逐位進位即可。最高位如果還有進位需要在數組里面第 0 位再插入一個 1 。以下是詳細的解釋和多種解決方法:

          方法一:遍歷加法

          通過從數組的末尾開始,逐位處理進位問題,直到處理完所有需要進位的情況。

          • 時間復雜度:O(n),其中 n 是數組的長度。我們需要遍歷數組中的每個元素。
          • 空間復雜度:O(1),只使用了常數級別的額外空間。
          var plusOne=function (digits) {
              for (let i=digits.length - 1; i >=0; i--) {
                  if (digits[i] < 9) {
                      digits[i]++;
                      return digits;
                  }
                  digits[i]=0;
              }
              digits.unshift(1);
              return digits;
          }

          方法二:遞歸法

          使用遞歸方法處理每一位上的加法和進位問題。這種方法在實際應用中不如方法一高效,但它展示了不同的思維方式。

          • 時間復雜度:O(n),其中 n 是數組的長度。每次遞歸調用處理一個元素。
          • 空間復雜度:O(n),遞歸調用棧的深度為 n。
          var plusOne=function (digits) {
              function helper(index) {
                  if (index===-1) {
                      digits.unshift(1);
                      return;
                  }
                  if (digits[index] < 9) {
                      digits[index]++;
                      return;
                  }
                  digits[index]=0;
                  helper(index - 1);
              }
              helper(digits.length - 1);
              return digits;
          }

          總結

          在實際應用中,遍歷加法是解決這個問題的最佳選擇,因為它不僅能在 O(n) 的時間復雜度內高效處理加一操作,而且實現簡單易懂。遞歸方法雖然展示了不同的思維方式,但在性能和實現復雜度上不如遍歷加法法優越。

          附件:


          最后

          如果有任何問題或建議,歡迎在評論區留言交流!祝你編程愉快!

          嘍,大家好啊,這里是雷工筆記,我是雷工。

          數據類型比較常見,無論是對程序員,還是電氣工程師來說,都再熟悉不過了,這里跟著教程了解一下,主要看跟自己以往在其他PLC,C#,組態軟件中應用的有啥不同。

          一、了解數據類型

          在計算機的世界就像黑客帝國中的超級計算機,其中的人、物其實都是虛擬的數據。

          數據類型:用來在計算機中標記程序的運算規則的。

          計算機程序可以處理海量的數據,為啥要給數據分類?

          1、為了更加充分和高效的應用計算機內存。

          2、為了更加方便程序猿合理的使用數據。

          二、數據類型分幾種

          JavaScript中的數據類型整體分為兩大類:

          1、基本數據類型;

          2、引用數據類型(復雜類型);

          三、Number數字型

          數字型即我們小學中學到的數字,可以是整數、小數、正數、負數。

          數字類型:只要變量的值是純數字,且沒有引號,那么當前變量就是數字類型。

          相比其他組態軟件中分16位整型,雙整型,有符號,無符號,浮點數等類型要簡單些。

          示例:

          let age=20 //整數
          let pi=3.14 //小數

          在JavaScript語言中正數、負數、小數等統稱為數字類型Number。

          注意事項:

          1、JavaScript語言屬于弱數據類型,變量到底屬于什么類型,需要等賦值后,才能確定。

          2、Java語言屬于強數據類型,例如:int b=4;定義時就確認了,必須是整數。

          四、算術運算符

          1、數字類型在程序中可以有許多操作,例如,加+,減-,乘*、除/,等待,經常涉及運算。

          運算涉及到算術運算符,也稱作數學運算符,主要包括加、減、乘、除、取余等。

          2、說到計算就涉及計算的優先級,在JavaScript中的優先級和小學數學中的算術優先級一樣,都是先乘除,后加減,想改變加括號。

          3、NaN代表一個計算錯誤。它是一個不正確的或者一個未定義的數學操作所得到的結果。

          示例:

          console.log('老師'-2) //NaN

          NaN是粘性的。任何對NaN的操作都會返回NaN。

          示例:

          console.log(NaN +2) //NaN

          五、字符串類型string

          1、通過單引號(‘’)、雙引號(“”)包裹的數據都叫字符串,單引號和雙引號沒有本質上的區別,推薦使用單引號。

          示例:

          let myName='雷工筆記' //使用單引號
          let name=“雷工” // 使用雙引號
          let tel='18712345678' // 看上去是數字,但是是引號包裹了,就是字符串。
          let str=‘ ’ // 這種是空字符串

          2、注意事項:

          2.1、無論單引號或是雙引號必須成對應用;

          2.2、單引號/雙引號可以互相嵌套,但是不可以自己嵌套自己;

          2.3、必要時可以使用轉義符\,輸出單引號或者雙引號。

          3、拼接字符串

          使用場景:+運算符,可以實現字符串的拼接。

          使用口訣:數字相加,字符相連;

          示例:

          document.write(‘我是’+‘雷工筆記’) //我是雷工筆記
          let myName=‘高啟強’
          let work=‘賣魚’
          document.write( myName + work) //高啟強賣魚

          注意:

          只要變量中有一個數據類型是字符串類型,那么在計算的時候遇到加號,則直接拼接字符串;

          如果遇到除加號以外的符號,那么計算機先將字符串轉換為對應的數字,然后再計算,

          4、模板字符串

          4.1、應用場景

          拼接字符串和變量

          在沒有它之前,要拼接變量比較麻煩

          示例:

          document.write(‘哈嘍,大家好,我是’+name+‘!今年‘+age+歲’)

          4.2、模板字符串語法

          ● ``(反引號)

          ●在模板字符串中通過${變量}獲取變量的值。

          ● 反引號在英文輸入模式下,鍵盤鍵Tab上面那個按鍵(1左邊那個按鍵)

          ● 內容拼接時,用${}包裹住變量。

          示例:

          document.write(`哈嘍,大家好,我是${name}!今年${name}歲`)

          好像C#中也有類似的應用方法。

          六、布爾類型boolean

          表示開關量,是或否時在計算機中對應的是布爾類型。

          他有兩個固定的值,True與False,表示真時用true,表示假時用False。

          true:代表正確的,條件成立的;

          False:代表錯誤的,條件不成立的;

          示例:

          //雷工筆記有趣嘛?
          let isFun=true
          console.log(isFun)

          七、undefined類型

          7.1、未定義是比較特殊的類型,只有一個值undefined。

          7.2、什么情況下出現?

          只聲明變量,不賦值的情況下,變量的默認值為undefined,一般很少【直接】為某個變量賦值為undefined。

          undefined值本身表示的含義未定義;

          示例:

          let name // 聲明變量但是未賦值
          document.write(name) //輸出undefined

          7.3、實例場景:

          我們開發中經常聲明一個變量,等待傳送過來的數值。

          如果我們不確定這個數據是否有傳遞過來,此時我們可以通過檢測這個變量是不是undefined,來確定是否有數據傳遞過來。

          八、null類型(對象類型,屬于引用類型)

          8.1、如果變量的值是null,那么變量的數據類型叫空類型,——對象類型。

          JS中的null僅僅是一個表示“無”、“空”或“值未知”的特殊值。

          示例:

          let name=null
          console.log(name) //null

          8.2、null和undefined的區別:

          ● undefined表示木有賦值

          ● null 表示賦值了,但是內容為空

          8.3、null實例場景:

          官方說明:把null作為尚未創建的對象。

          將來有個變量里面存放的是一個對象,但是對象還沒創建好,可以先給個null

          九、后記

          以上為學習JavaScript基礎知識數據類型的相關筆記。


          主站蜘蛛池模板: 无码少妇一区二区浪潮av| 国产成人精品一区二三区在线观看| 动漫精品一区二区三区3d| 韩日午夜在线资源一区二区| 中文精品一区二区三区四区| 国产一区二区三区乱码| 美女视频一区二区| 亚洲av无码成人影院一区| 精品一区二区三区波多野结衣| 国产激情一区二区三区成人91| 日本精品高清一区二区2021| 好爽毛片一区二区三区四无码三飞| 亚洲AV日韩AV天堂一区二区三区| 中文字幕一区视频一线| 亚洲性日韩精品国产一区二区| 精品一区二区三区影院在线午夜 | 在线视频一区二区三区| 国产乱码精品一区二区三区中文| 久久久不卡国产精品一区二区| 国产视频一区在线播放| 国产婷婷色一区二区三区深爱网| 亚洲一区精彩视频| 中文乱码人妻系列一区二区| 精品人妻无码一区二区色欲产成人 | 欧洲无码一区二区三区在线观看 | 精品乱码一区二区三区在线| 国产乱码精品一区二区三区四川| 日本无卡码免费一区二区三区| 欧洲精品码一区二区三区| 国产综合视频在线观看一区 | 搜日本一区二区三区免费高清视频| 日本在线视频一区二区三区| 国产精品亚洲专一区二区三区| 国偷自产视频一区二区久| 精品一区二区三区四区电影| 久久亚洲色一区二区三区| 无码精品一区二区三区免费视频| 日韩一区二区三区无码影院| 国产精品香蕉在线一区| 国产a久久精品一区二区三区| 国产av福利一区二区三巨|