JavaScript 回文字符串判断
什么是回文字符串?
如果一个字符串反转之后和原本的字符串相同,那么这个字符串就叫做回文字符串。比如:level、上海自来水来自海上、20211202 等都是回文字符串。
一、需求说明
通过页面弹出的输入框输入要进行判断的字符串,点击确定后,
- 如果该字符串是回文字符串,则弹窗提示:该字符串是回文字符串;
- 如果该字符串不是回文字符串,则弹窗提示:该字符串不是回文字符串。
二、步骤
1、封装一个函数,用来判断是不是回文字符串
1-1 使用 split()
方法将用户输入的字符串转换成数组
1-2 使用 reverse()
将转换成的数组进行反转
1-3 使用 join()
方法将反转后的数组转换成新的字符串
1-4 将原始字符串和新字符串进行比较,如果全等,就表示用户输入的字符串是回文字符串,返回 true
;如果不等,就表示用户输入的字符串不是回文字符串,返回 false
。
2、使用 window.prompt()
来让用户输入要进行判断的字符串,调用封装之后的函数进行判断
- 如果判断结果是
true
,输出:该字符串是回文字符串! - 如果判断结果是
false
,输出:该字符串不是回文字符串!
3、设置一个定时器,使用户可以在判断完一个字符串之后,还可以继续判断其它的字符串。
三、代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
var str = window.prompt('请输入要进行判断的字符串');
if (isPalindromeString(str) === true) {
window.alert(`您输入的字符串为:${str},它是回文字符串!`);
} else {
window.alert(`您输入的字符串为:${str},它不是回文字符串!`);
}
// 设置一个定时器,使用户可以在判断完一个字符串之后,还可以继续判断别的字符串
setInterval(() => {
var str = window.prompt('请输入要进行判断的字符串');
if (isPalindromeString(str) === true) {
window.alert(`您输入的字符串为:${str},它是回文字符串!`);
} else {
window.alert(`您输入的字符串为:${str},它不是回文字符串!`);
}
}, 1000);
/*
isPalindromeString 判断回文字符串
@param string str 需要判断的字符串
@return boolean 判断结果 true / false
*/
// 判断回文字符串函数
function isPalindromeString(str) {
// 将字符串每一个字符都转化为数组单元
var arr = str.split('');
// 将数组进行反转
arr.reverse();
// 将反转的数组拼接为新的字符串,并且每个字符之间没有间隔
var newStr = arr.join('');
if (str === newStr) {
// 如果新的字符串等于原始字符串
// 返回值是true,表示是回文字符串
return true;
} else {
// 否则,返回值是false,表示不是回文字符串
return false;
}
}
</script>
</body>
</html>