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

Kiểm tra Palindrome trong JavaScript (chỉ cho phép alphanumeric)


Palindrome

Từ/cụm từ/số đọc xuôi ngược giống nhau (VD: "madam", "nurses run"). Chỉ xét ký tự alphanumeric (chữ/số), bỏ qua dấu câu, khoảng trắng, case.

Các bước

  1. Chuyển chuỗi về lowercase.
  2. Loại bỏ non-alphanumeric bằng regex /[\W_]/g hoặc /[^a-zA-Z0-9]+/g.
  3. Dùng replace() thay bằng chuỗi rỗng.
  4. Đảo ngược chuỗi đã lọc: split("").reverse().join("").
  5. So sánh chuỗi đảo với chuỗi gốc lọc → true/false.

Ví dụ

<html> <body> <script> function palindrome(str){ var reg = /[\W_]/g; var smstr = str.toLowerCase().replace(reg, ""); var reversed = smstr.split("").reverse().join(""); if(reversed === smstr){ document.write("true"); } else { document.write("false"); } } palindrome("a929a*/(';-=,.*"); </script> </body> </html>

Kết quả

true

Giải thích: Chuỗi gốc có nhiều ký tự đặc biệt, sau lọc chỉ còn "a929a" → palindrome.