JS去除字符串中空格,及常用正則表達式


原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。 http://zhanyah.blog.51cto.com/2821907/791581
 
 //功能: 1)去除字符串前后所有空格
    //      2)去除字符串中所有空格(包括中間空格,需要設置第2個參數為:g)
    function Trim(str,is_global)
    {
         var result;
         result = str.replace(/(^\s+)|(\s+$)/g,"");
         if(is_global.toLowerCase()=="g")
            result = result.replace(/\s/g,"");
         return result;
    }
    //功能:去除字符串的左空格
    String.prototype.LTrim = function()
    {
        return this.replace(/^\s+/,"");
    }
    //功能:去除字符串的右空格
    String.prototype.RTrim = function()
    {
        return this.replace(/\s+$/,"");
    }
    //功能:判斷是否為數字,是則返回true,否則返回false
    function check_number(str)   
    {   
        //isNaN(str)     
        if (/^\d+$/.test(str))   
        {   
           return true;   
        }    
        else    
        {   
           alert("請輸入數字");   
           return false;   
        }   
    }  
常用的正則表達式主要有以下幾種:
  匹配中文字符的正則表達式: [\u4e00-\u9fa5]
  評注:匹配中文還真是個頭疼的事,有了這個表達式就好辦了哦
  獲取日期正則表達式:\d{4}[年|\-|\.]\d{\1-\12}[月|\-|\.]\d{\1-\31}日?
  評注:可用來匹配大多數年月日信息。
  匹配雙字節字符(包括漢字在內):[^\x00-\xff]
  評注:可以用來計算字符串的長度(一個雙字節字符長度計2,ASCII字符計1)
  匹配空白行的正則表達式:\n\s*\r
  評注:可以用來刪除空白行
  匹配HTML標記的正則表達式:<(\S*?)[^>]*>.*?</>|<.*? />
  評注:網上流傳的版本太糟糕,上面這個也僅僅能匹配部分,對於復雜的嵌套標記依舊無能為力
  匹配首尾空白字符的正則表達式:^\s*|\s*$
  評注:可以用來刪除行首行尾的空白字符(包括空格、制表符、換頁符等等),非常有用的表達式
  匹配Email地址的正則表達式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
  評注:表單驗證時很實用
  匹配網址URL的正則表達式:[a-zA-z]+://[^\s]*
  評注:網上流傳的版本功能很有限,上面這個基本可以滿足需求
  匹配帳號是否合法(字母開頭,允許5-16字節,允許字母數字下划線):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
  評注:表單驗證時很實用
  匹配國內電話號碼:\d{4}-\d{7}|\d{3}-\d{8}
  評注:匹配形式如 0511 - 4405222 或 021 - 87888822
  匹配騰訊QQ號:[1-9][0-9]\{4,\}
  評注:騰訊QQ號從1000 0 開始
  匹配中國郵政編碼:[1-9]\d{5}(?!\d)
  評注:中國郵政編碼為6位數字
  匹配身份證:\d{17}[\d|X]|\d{15}
  評注:中國的身份證為15位或18位
  匹配ip地址:((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)。
  評注:提取ip地址時有用
  匹配特定數字:
  ^[1-9]\d*$ //匹配正整數
  ^-[1-9]\d*$ //匹配負整數
  ^-?[1-9]\d*$ //匹配整數
  ^[1-9]\d*|0$ //匹配非負整數(正整數 + 0)
  ^-[1-9]\d*|0$ //匹配非正整數(負整數 + 0)
  ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ //匹配正浮點數
  ^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ //匹配負浮點數
  ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$ //匹配浮點數
  ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$ //匹配非負浮點數(正浮點數 + 0)
  ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$ //匹配非正浮點數(負浮點數 + 0)
  評注:處理大量數據時有用,具體應用時注意修正
  匹配特定字符串:
  ^[A-Za-z]+$ //匹配由26個英文字母組成的字符串
  ^[A-Z]+$ //匹配由26個英文字母的大寫組成的字符串
  ^[a-z]+$ //匹配由26個英文字母的小寫組成的字符串
  ^[A-Za-z0-9]+$ //匹配由數字和26個英文字母組成的字符串
  ^\w+$ //匹配由數字、26個英文字母或者下划線組成的字符串
  評注:最基本也是最常用的一些表達式
  Function IsRegu(Regu,s)
  '正則表達式校驗
  If Regu="" Then
  Exit Function
  End if
  Dim Re,Sre
  Set Re = New RegExp
  Re.Pattern = Regu
  Sre = Re.Test(s)
  If Sre = True Then
  IsRegu = True
  Else
  IsRegu = False
  End If
  End Function
  tmp=" "
  if (IsRegu("\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*",tmp )) =false then
  msgbox "E-mail地址不合法 !"
  FieldCheck#N=false
  end if
  不同的語言(如PHP和JAVA)、相同語言的不同類庫(如來自Sun的Java Regular Expression類庫跟Apache Jakarta的正則表達式類庫)間,用法會有所差別,在使用的時候,要注意這些差別。
 

本文出自 “成長的記憶錄” 博客,請務必保留此出處http://zhanyah.blog.51cto.com/2821907/791581


免責聲明!

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



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