JavaScript正規表現のトピック

10792 ワード

数字が含まれているかどうかを判断する
例えば、与えられた文字列strは、数字が含まれているかどうかを確認し、trueに戻ることを含み、そうでなければfalse入力に戻ります.「abc 123」出力:true
二つの方法:
  • 正規表現:
  • function containsNumber(str) {
         
        var reg = /\d/
        return reg.test(str)
    }
    
  • エルゴード:
  • function containsNumber(str) {
         
        for(let i = 0; i < str.length; i++) {
         
            if (str.indexOf(i) !== -1) {
         
                return true
            }
        }
        return false
    }
    
    重複文字列をチェック
    例えば、与えられた文字列strは、連続的に繰り返される文字(a-zA-Z)が含まれているかどうかを確認し、trueに戻ります.そうでないとfalse入力に戻ります.「rattler」出力:true
    方法1:正規表現のパケット形式の逆参照を採用します.この理解は霧のようなものかもしれません.例を挙げてもいいです.
    var reg = /(\w{3}) is \1/
    reg.test('kid is kid') // true
    reg.test('dik is dik') // true
    reg.test('kid is dik') // false
    reg.test('dik is kid') // false
    
    この例では、検出する文字列の中間がisであるかどうかを判断し、左右の同じ長さが3の文字列であるかを判断し、満足すればtrueに戻ります.そうでなければfalseに戻ります.したがって、重複した文字を検出するには、isを除去する必要があります.
    function containsRepeatingLetter(str) {
         
        var reg = /([a-zA-Z])\1/
        return reg.test(str)
    }
    
    方法2:従来のforサイクル巡回方式:
    function containsRepeatingLetter(str) {
         
        var reg = /[a-zA-Z]/
        for(let i = 0; i < str.length; i++) {
         
            if (str[i] === str[i + 1] && reg.test(str[i])) {
         
                return true
            }
        }    
        return false
    }
    
    母音で終わるかどうかを判断します.
    例えば、与えられた文字列strは、母音文字で終端1、母音文字でa、e、i、o、uを含むかどうかを確認し、対応する大文字2、含んでtrueに戻ります.そうでなければfalse入力に戻ります.gorilla出力:true
    function endsWithVowel(str) {
         
        // /i        
        var reg = /(a|e|i|o|u)$/i
        return reg.test(str)
    }
    
    指定された文字列を取得
    文字列のstrが与えられているので、3つの連続した数字1が含まれているかどうかを確認します.含まれていない場合、最初に現れた3つの数字の文字列2を返します.false入力に戻ります.
    function captureThreeNumbers(str) {
         
        var res = str.match(/(\d{3})/)
        // console.log(res);
        if (res) {
         
            return res[0]
        }
        return false
    }
    // res   :
    [ '987', '987', index: 0, input: '987654', groups: undefined ]
    
    指定されたフォーマットに合致しているかどうかを判断する.
    例えば、与えられた文字列strは、下記のフォーマット1、X X-XXXX-XXXX 2、その中のXはNumberタイプに該当するかどうかを確認する.
    function matchesPattern(str) {
         
        var reg = /^(\d{3}-){2}\d{4}$/
        return reg.test(str)
    }
    
    USDフォーマットに合っているかどうかを判断します.
    文字列のstrを与えられた場合、ドル表記フォーマット1、ドル開始2、整数部分に該当するかどうかを確認し、1桁から3つの数字用、3つの数字用、小数点以下の場合、小数点以下の部分の長さは2、正確なフォーマットは1、023、032.03、または2.03です.
    function isUSD(str) {
         
        var reg = /^\$\d{1,3}(\,\d{3})*(\.\d{2})?$/
        /**
         * ^\$  $    
         * \d{1,3} 1-3   
         * (\,\d{3})* 0    , 3   
         * (\.\d{2})? 0  1 2   
         */
        return reg.test(str)
    }
    
    皆さん、コメントありがとうございます.