Computer >> Máy Tính >  >> Lập trình >> Javascript

Viết chương trình palindrome bằng JavaScript để chỉ cho phép các giá trị chữ và số?

Palindrome

Palindrome là từ, một cụm từ hoặc một số đọc ngược lại như tiến. Ví dụ như Malayalam, thưa bà, điều hành y tá, v.v.

Ở đây chúng ta nên sử dụng một biểu thức chính quy để chỉ cho phép các ký tự chữ và số. "\ W" là một regex dựng sẵn giúp chúng ta thực hiện nhiệm vụ dễ dàng. Có một số bước cần thực hiện để kiểm tra xem một chuỗi được cung cấp có phải là palindrome hay không.

Các bước cần làm theo

  • Đầu tiên, chúng ta cần thay đổi tất cả các ký tự của một chuỗi thành chữ thường.
  • Sau đó, chúng tôi cần xóa tất cả các giá trị không phải chữ và số. Tác vụ này có thể được thực hiện bằng cách sử dụng biểu thức chính quy có sẵn có tên '\ W' hoặc chúng ta có thể tạo biểu thức chính quy của riêng mình.
  • chúng ta cần thay thế tất cả các giá trị không phải chữ và số bằng không (""). Tác vụ này có thể được thực hiện bằng một phương thức có sẵn có tên là Replace ().
  • Sau khi chúng tôi lấy các giá trị không phải chữ và số từ một chuỗi, chúng tôi cần kiểm tra xem nó có đọc giống nhau theo hướng lùi và tiến hay không.
  • chúng ta cần đảo ngược chuỗi đã tinh chỉnh bằng phương thức string.reverse () và chuỗi kết quả phải được so sánh với chuỗi ban đầu.
  • Nếu cả hai đều bằng nhau, "true" sẽ được hiển thị ở đầu ra, còn lại "false" sẽ được hiển thị.

Trong ví dụ sau, mặc dù gửi các giá trị không phải chữ và số như *, &v.v., chương trình chỉ kiểm tra các giá trị chữ và số và hiển thị đầu ra.

Ví dụ

<html>
<body>
<script>
   function palindrome(str){
   var reg = /[\W_]/g;     // instead of '\W' we also can take "/[^a-zA-Z0-9]+/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>

Đầu ra

true