判斷輸入框內容或者字符串是否全部為空格、正則表達式


一、三種判斷方法函數
function spaceJudge(){

    var dom = document.getElementById("inContext");

    var value = dom.value;//獲取輸入框的內容

    //將輸入的內容去掉開頭和結尾的空格,若長度大於0,則說明不全是空格,若長度為0則全是空格

    var  valuestr = value.trim();

    var patt = /^[\s]*$/;//以空格開頭並且已空格結尾,中間多次或者零次空格

    //若結果為true則表示全為空格或者為空

    var pvalue = patt.test(value);//RegExp方法,檢索字符串

    //若長度大於0,則說明不全是空格,若長度為0則全是空格

    var revaue = value.replace(/^\s*|(\s*$)/g,"");

    if(valuestr.length <= 0) {console.log("all space or space")};//方法一

    if(pvalue ) {console.log("all space or space")};//方法二

    if(revaue.length <= 0 ) {console.log("all space or space")};//方法三

}

二、解析
1.trim():刪除字符開始和末尾的空格、換行符、制表符,若這些字符存在於字符串中間時會被保留。

2.正則表達式:

    表達式一:/^[\s]*$/

  知識點:^:表示開頭、非、以及字符'^',在開頭時表示開頭,例如/^[abc]/表示以字符a或b或c開頭的字符串;在字符類中表示非,例如/[^abc]/表示處理a、b、c之外的任意字符;

             \s:匹配任何Unicode的空白字符

             $:表示字符串結尾

             *:表示匹配零次或者多次

             test():RegExp方法,表示對每一個字符串進行檢索,若包含正則表達式的結果則返回成功

 

    表達式二:/^\s*|(\s*$)/g

  知識點:|用於分割供選擇的字符串,例如/a|b/表示匹配字符a或者字符b

               g表示全局內匹配,找完字符串中的全部滿足字符

               replace(正則表達式,替換字符):String方法,將匹配到的字符串全部改為替換字符。注意:這只是其中的一種用法

注意:這些方法適用於輸入完成后離開輸入框在去驗證字符串

 

 
三、擴展常用正則表達式
1.判斷非全零的全數據字符串:/^[0-9]*[1-9][0-9]*$/g;//全局匹配g可以去掉

2.判斷字符串全部為數字或者為浮點數:/^\d+(\.\d+)?$/g;

3.判斷字符串為浮點數:/^\d+(\.\d+)?{1}/g;//該方法存在的一個BUG,1.0和1\.0都返回true,這個后續在優化

4.判斷字符串是否為金額格式:/^\d+(\.([0-9]|([0-9][0-9])))?$/g;//例如:100 100.5  100.30

5.其他的檢查空字符串和首尾空格:/^\s*|\s+$/g;  其他 檢查首尾空格但是不包括空字符串:/^\s+|\s+$/g;

6.判斷是否為yyyy-mm(0、1)-dd(0、1)格式日期: /^\d{4}-([0-1]?[0-9])-([0-3]?[0-9])$/; 例如:2018-09-18 2018-9-3

四、正則表達式知識點擴展
  1.重復字符含義:

        {n,m} 匹配前一項最少n次,最多m次;例如:

        {n,}  匹配前一項n次及其以上;例如:

        {n}   匹配前一項n次; 例如: /^\d{4}/表示匹配數字4次

         ? 匹配前一項0次或者1次;

          *  匹配前一項至少0次;

         +  匹配前一項至少1次;
————————————————
版權聲明:本文為CSDN博主「houniao1314」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/houniao1314/article/details/80793706


免責聲明!

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



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