用 JavaScript 驗證包含數字的字串


問題

我們需要編寫一個 JavaScript 函式,該函式接收一個字串 str。我們的函式應該根據數字前的字母來驗證字串中的字母。

我們需要根據數字拆分字串,然後將數字與隨後子字串中的字元數進行比較。如果它們都匹配,則字串有效,我們應該返回 true,否則返回 false。

例如,−

5hello4from2me

應該返回 true

因為按數字拆分後,字串變為“hello”、“from”、“me”,並且所有這些字串的長度與它們之前的數字相同

示例

以下是程式碼 −

 即時演示

const str = '5hello4from2me';
const validateString = (str = '') => {
   const lenArray = [];
   let temp = '';
   for(let i = 0; i < str.length; i++){
      const el = str[i];
      if(+el){
         lenArray.push([+el, '']);
      }else{
         const { length: len } = lenArray;
         lenArray[len - 1][1] += el;
      };
   };
   return lenArray.every(sub => sub[0] === sub[1].length);
};
console.log(validateString(str));

輸出

以下為控制檯輸出 −

true

更新時間: 2021 年 4 月 20 日

103 個瀏覽量

開啟你的職業生涯

完成課程以獲得認證

開始
廣告
© . All rights reserved.