用 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 个浏览量

开启你的职业生涯

完成课程以获得认证

开始
广告