<noframes id="5hjpd"><progress id="5hjpd"><form id="5hjpd"></form></progress>

    <noframes id="5hjpd">

    <span id="5hjpd"><progress id="5hjpd"><progress id="5hjpd"></progress></progress></span>
      <noframes id="5hjpd">
      <ins id="5hjpd"><sub id="5hjpd"><rp id="5hjpd"></rp></sub></ins>
      <del id="5hjpd"><big id="5hjpd"></big></del>
      <track id="5hjpd"></track>

      JS常用正則表達式備忘錄

      導語 正則表達式對象的屬性及方法: 預定義的正則表達式擁有有以下靜態屬性:input, multiline, lastMatch, lastParen, leftContext,rightContext和$1到$9。其中input和multiline可以預設置。其他屬性的值在執行過exec或test方法后被根據不同條件賦以不同的值。

        匹配正則

        使用 .test() 方法

      1. let testString = "My test string"
      2. let testRegex = /string/;
      3. testRegex.test(testString); 

        匹配多個模式

        使用操作符號 |

      1. const regex = /yes|no|maybe/; 

        忽略大小寫

        使用i標志表示忽略大小寫

      1. const caseInsensitiveRegex = /ignore case/i; 
      2. const testString = 'We use the i flag to iGnOrE CasE'
      3. caseInsensitiveRegex.test(testString); // true 

        提取變量的第一個匹配項

        使用 .match() 方法

      1. const match = "Hello World!".match(/hello/i); // "Hello" 

        提取數組中的所有匹配項

        使用 g 標志

      1. const testString = "Repeat repeat rePeAT"
      2. const regexWithAllMatches = /Repeat/gi; 
      3. testString.match(regexWithAllMatches); // ["Repeat", "repeat", "rePeAT"]   

        匹配任意字符

        使用通配符. 作為任何字符的占位符

      1. // To match "cat", "BAT", "fAT", "mat" 
      2. const regexWithWildcard = /.at/gi; 
      3. const testString = "cat BAT cupcake fAT mat dog"
      4. const allMatchingWords = testString.match(regexWithWildcard); // ["cat", "BAT", "fAT", "mat"]   

        用多種可能性匹配單個字符

        使用字符類,你可以使用它來定義要匹配的一組字符

        把它們放在方括號里 []

      1. //匹配 "cat" "fat" and "mat" 但不匹配 "bat" 
      2. const regexWithCharClass = /[cfm]at/g; 
      3. const testString = "cat fat bat mat"
      4. const allMatchingWords = testString.match(regexWithCharClass); // ["cat", "fat", "mat"]     

        匹配字母表中的字母

        使用字符集內的范圍 [a-z]

      1. const regexWidthCharRange = /[a-e]at/; 
      2.  
      3. const regexWithCharRange = /[a-e]at/; 
      4. const catString = "cat"
      5. const batString = "bat"
      6. const fatString = "fat"
      7.  
      8. regexWithCharRange.test(catString); // true 
      9. regexWithCharRange.test(batString); // true 
      10. regexWithCharRange.test(fatString); // false 

        匹配特定的數字和字母

        你還可以使用連字符來匹配數字

      1. const regexWithLetterAndNumberRange = /[a-z0-9]/ig; 
      2. const testString = "Emma19382"
      3. testString.match(regexWithLetterAndNumberRange) // true 

        匹配單個未知字符

        要匹配您不想擁有的一組字符,使用否定字符集 ^

      1. const allCharsNotVowels = /[^aeiou]/gi; 
      2. const allCharsNotVowelsOrNumbers = /[^aeiou0-9]/gi; 

        匹配一行中出現一次或多次的字符

        使用 + 標志

      1. const oneOrMoreAsRegex = /a+/gi; 
      2. const oneOrMoreSsRegex = /s+/gi; 
      3. const cityInFlorida = "Tallahassee"
      4.  
      5. cityInFlorida.match(oneOrMoreAsRegex); // ['a', 'a', 'a']; 
      6. cityInFlorida.match(oneOrMoreSsRegex); // ['ss'];    

        匹配連續出現零次或多次的字符

        使用星號 *

      1. const zeroOrMoreOsRegex = /hi*/gi; 
      2. const normalHi = "hi"
      3. const happyHi = "hiiiiii"
      4. const twoHis = "hiihii"
      5. const bye = "bye"
      6.  
      7. normalHi.match(zeroOrMoreOsRegex); // ["hi"] 
      8. happyHi.match(zeroOrMoreOsRegex); // ["hiiiiii"] 
      9. twoHis.match(zeroOrMoreOsRegex); // ["hii", "hii"] 
      10. bye.match(zeroOrMoreOsRegex); // null 

        惰性匹配

        字符串中與給定要求匹配的最小部分

        默認情況下,正則表達式是貪婪的(匹配滿足給定要求的字符串的最長部分)

        使用 ? 阻止貪婪模式(惰性匹配 )

      1. const testString = "catastrophe"
      2. const greedyRexex = /c[a-z]*t/gi; 
      3. const lazyRegex = /c[a-z]*?t/gi; 
      4.  
      5. testString.match(greedyRexex); // ["catast"] 
      6. testString.match(lazyRegex); // ["cat"]    

        匹配起始字符串模式

        要測試字符串開頭的字符匹配,請使用插入符號^,但要放大開頭,不要放到字符集中

      1. const emmaAtFrontOfString = "Emma likes cats a lot."
      2. const emmaNotAtFrontOfString = "The cats Emma likes are fluffy."
      3. const startingStringRegex = /^Emma/; 
      4.  
      5. startingStringRegex.test(emmaAtFrontOfString); // true 
      6. startingStringRegex.test(emmaNotAtFrontOfString); // false     

        匹配結束字符串模式

        使用 $ 來判斷字符串是否是以規定的字符結尾

      1. onst emmaAtBackOfString = "The cats do not like Emma"
      2. const emmaNotAtBackOfString = "Emma loves the cats"
      3. const startingStringRegex = /Emma$/; 
      4.  
      5. startingStringRegex.test(emmaAtBackOfString); // true 
      6. startingStringRegex.test(emmaNotAtBackOfString); // false     

        匹配所有字母和數字

        使用\word 簡寫

      1. const longHand = /[A-Za-z0-9_]+/; 
      2. const shortHand = /\w+/; 
      3. const numbers = "42"
      4. const myFavoriteColor = "magenta"
      5.  
      6. longHand.test(numbers); // true 
      7. shortHand.test(numbers); // true 
      8. longHand.test(myFavoriteColor); // true 
      9. shortHand.test(myFavoriteColor); // true 

        除了字母和數字,其他的都要匹配

        用\W 表示 \w 的反義

      1. const noAlphaNumericCharRegex = /\W/gi; 
      2. const weirdCharacters = "!_$!!"
      3. const alphaNumericCharacters = "ab283AD"
      4.  
      5. noAlphaNumericCharRegex.test(weirdCharacters); // true 
      6. noAlphaNumericCharRegex.test(alphaNumericCharacters); // false 

        匹配所有數字

        你可以使用字符集[0-9],或者使用簡寫 \d

      1. const digitsRegex = /\d/g; 
      2. const stringWithDigits = "My cat eats $20.00 worth of food a week."
      3.  
      4. stringWithDigits.match(digitsRegex); // ["2", "0", "0", "0"] 

        匹配所有非數字

        用\D 表示 \d 的反義

      1. const nonDigitsRegex = /\D/g; 
      2. const stringWithLetters = "101 degrees"
      3.  
      4. stringWithLetters.match(nonDigitsRegex); // [" ", "d", "e", "g", "r", "e", "e", "s"] 

        匹配空格

        使用 \s 來匹配空格和回車符

      1. const sentenceWithWhitespace = "I like cats!" 
      2. var spaceRegex = /\s/g; 
      3. whiteSpace.match(sentenceWithWhitespace); // [" ", " "] 

        匹配非空格

        用\S 表示 \s 的反義

      1. const sentenceWithWhitespace = "C a t" 
      2. const nonWhiteSpaceRegex = /\S/g; 
      3. sentenceWithWhitespace.match(nonWhiteSpaceRegex); // ["C", "a", "t"] 

        匹配的字符數

        你可以使用 {下界,上界} 指定一行中的特定字符數

      1. const regularHi = "hi"
      2. const mediocreHi = "hiii"
      3. const superExcitedHey = "heeeeyyyyy!!!"
      4. const excitedRegex = /hi{1,4}/; 
      5.  
      6. excitedRegex.test(regularHi); // true 
      7. excitedRegex.test(mediocreHi); // true 
      8. excitedRegex.test(superExcitedHey); //false 

        匹配最低個數的字符數

        使用{下界, }定義最少數量的字符要求,下面示例表示字母 i 至少要出現2次

      1. const regularHi = "hi"
      2. const mediocreHi = "hiii"
      3. const superExcitedHey = "heeeeyyyyy!!!"
      4. const excitedRegex = /hi{2,}/; 
      5.  
      6. excitedRegex.test(regularHi); // false 
      7. excitedRegex.test(mediocreHi); // true 
      8. excitedRegex.test(superExcitedHey); //false 

        匹配精確的字符數

        使用{requiredCount}指定字符要求的確切數量

      1. const regularHi = "hi"
      2. const bestHi = "hii"
      3. const mediocreHi = "hiii"
      4. const excitedRegex = /hi{2}/; 
      5.  
      6. excitedRegex.test(regularHi); // false 
      7. excitedRegex.test(bestHi); // true 
      8. excitedRegex.test(mediocreHi); //false 

        匹配0次或1次

        使用 ? 匹配字符 0 次或1次

      1. const britishSpelling = "colour"
      2. const americanSpelling = "Color"
      3. const languageRegex = /colou?r/i; 
      4.  
      5. languageRegex.test(britishSpelling); // true 
      6. languageRegex.test(americanSpelling); // true 

        代碼部署后可能存在的BUG沒法實時知道,事后為了解決這些BUG,花了大量的時間進行log 調試,這邊順便給大家推薦一個好用的BUG監控工具 Fundebug。

      http://www.randomwithlife.com/ true JS常用正則表達式備忘錄 http://www.randomwithlife.com/show-12-1128-1.html report <?php echo strlen($content) / 2; ?> 正則表達式對象的屬性及方法: 預定義的正則表達式擁有有以下靜態屬性:input, multiline, lastMatch, lastParen, leftContext,rightContext和$1到$9。其中input和multiline可以預設置。其他屬性的值在執行過exec或test方法后被根據不同條件賦以不同的值。
      TAG:js 正則表達式
      本站歡迎任何形式的轉載,但請務必注明出處,尊重他人勞動成果
      轉載請注明: 文章轉載自:愛思資源網 http://www.randomwithlife.com/show-12-1128-1.html

      [前端插件推薦] Plugin

      1 2 3 4
      • jQuery實現逐字逐句顯示插件l-by-l.min.js
      • jQuery帶方向感知的鼠標滑過圖片邊框特效插件
      • jQuery HotKeys監聽鍵盤按下事件keydown插件
      • 響應式無限輪播jQuery旋轉木馬插件
      響應式無限輪播jQuery旋轉木馬插件
      web前端開發
      愛思資源網 Copyright 2012-2014 www.randomwithlife.com All rights reserved.(晉ICP備13001436號-1)
      欧美精品久久久久久久自慰

      <noframes id="5hjpd"><progress id="5hjpd"><form id="5hjpd"></form></progress>

        <noframes id="5hjpd">

        <span id="5hjpd"><progress id="5hjpd"><progress id="5hjpd"></progress></progress></span>
          <noframes id="5hjpd">
          <ins id="5hjpd"><sub id="5hjpd"><rp id="5hjpd"></rp></sub></ins>
          <del id="5hjpd"><big id="5hjpd"></big></del>
          <track id="5hjpd"></track>