js如何判断是否为回文字符串?

青灯夜游
青灯夜游 原创
2018-11-17 17:46:55 5168浏览

js如何判断是否为回文字符串?本篇文章就给大家介绍js判断一个字符串是否为回文字符串的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。

首先我们来了解一下什么是回文字符串?

回文字符串就是,我们从开始到结束读它,和从末尾到开始读它是一样的。例:ABCBA。

接下面我们将给大家介绍如何轻松地使用JavaScript函数来判断一个字符串是否为回文字符串。

其实判断一个字符串是否为回文的逻辑非常简单:只需要从字符串中删除特殊字符并反转结果。如果字符串相等(过滤后的字符串和反向过滤后的字符串)那么这个字符串就是回文字符串,是不是很容易!

我们来看看JavaScript是如何遵循上述逻辑实现效果的。

1、使用基本功能来进行验证

按照上面提到的逻辑,我们只需创建一个包含我们需要字符串的变量。首先,我们将字符串的所有字符转换为小写版本,然后我们删除特殊字符,最后比较字符串,如果它们相等,函数将返回一个确认它的布尔值:

/** 
 *定义判断给定字符串是否为回文的函数isPalindrome()。
 * 
 * @returns {Boolean}
 */
function isPalindrome(str){
    var normalized = str.toLowerCase().match(/[a-z]/gi).reverse();
    return normalized.join('') === normalized.reverse().join('');
}

因此,您可以使用强制转换的isPalindrome方法,该方法提供一个字符串作为第一个参数,这将返回一个布尔值,该布尔值会注意到它是否是:

if(isPalindrome("Go dog.")){
    console.log("它是回文");
}else{
    console.log("它不是回文");
}

2、使用原型函数进行验证

如果你想要判断一个字符串是否是回文而又不提供它作为任何函数的第一个参数,只要该变量是一个字符串,你就可以通过扩展String原型并为它创建自己的函数来创建一个快捷方式。通过这种方式,你可以调用isPalindrome方法,就好像它是字符串的属性一样,例如:

/** 
 * 允许校验的字符串扩展函数
 * 字符串是否为回文。
 * 
 * @returns {Boolean}
 */
 String.prototype.isPalindrome = function () {
    var normalized = this.toLowerCase().match(/[a-z]/gi).reverse();
    return normalized.join('') === normalized.reverse().join('');
 }

因此,您可以使用isPalindrome方法为字符串强制转换,这将返回一个布尔值,注意到它是否:

if("Go dog.".isPalindrome()){
    console.log("它是回文");
}else{
    console.log("它不是回文");
}

总结:以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。

以上就是js如何判断是否为回文字符串?的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。