Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Xác thực chuỗi có chứa số bằng JavaScript


Vấn đề

Chúng ta cần viết một hàm JavaScript nhận vào một chuỗi str. Hàm phải xác thực các chữ cái trong chuỗi dựa trên các số đứng trước chúng.

Chúng ta cần tách chuỗi bằng các số, sau đó so sánh các số với số ký tự trong chuỗi con tiếp theo. Nếu tất cả khớp, chuỗi hợp lệ và trả về true, ngược lại false.

Ví dụ:

5hello4from2me

phải trả về true

Vì khi tách bằng số, chuỗi thành 'hello', 'from', 'me' và tất cả các chuỗi này có độ dài bằng số đứng trước chúng.

Ví dụ

Dưới đây là mã:

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));

Kết quả

Kết quả console:

true