회문
회문(Palindrome)은 앞뒤로 읽는 단어, 구 또는 숫자입니다. 예를 들어 Malayalam, 부인, 간호사 실행 등
여기서는 영숫자 문자만 허용하는 정규식을 사용해야 합니다. "\W"는 작업을 쉽게 해주는 내장 정규식입니다. 제공된 문자열이 회문인지 여부를 확인하기 위해 따라야 할 몇 가지 단계가 있습니다.
따라야 할 단계
- 먼저 문자열의 모든 문자를 소문자로 변경해야 합니다.
- 나중에 영숫자가 아닌 값을 모두 제거해야 합니다. 이 작업은 '\W'라는 이름의 내장 정규식을 사용하거나 자체 정규식을 만들 수 있습니다.
- 영숫자가 아닌 모든 값을 nothing("")으로 바꿔야 합니다. 이 작업은 replace()라는 내장 메서드를 사용하여 수행할 수 있습니다.
- 문자열에서 영숫자가 아닌 값을 가져온 후에는 앞뒤 방향에서 동일한지 확인해야 합니다.
- string.reverse() 메서드를 사용하여 정제된 문자열을 반전해야 하며 결과 문자열을 원래 문자열과 비교해야 합니다.
- 둘 다 같으면 "true"가 출력에 표시되고 그렇지 않으면 "false"가 표시됩니다.
다음 예에서 *, &등과 같은 영숫자가 아닌 값을 보내더라도 프로그램은 영숫자 값을 확인하고 출력을 표시합니다.
예시
<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>
출력
true