本文概述
- 验证基本功能
- 用原型功能验证
验证基本功能按照上述逻辑, 我们将简单地创建一个包含所需字符串的变量。首先, 我们将字符串的所有字符转换为小写版本, 然后删除特殊字符, 最后比较字符串, 如果它们相等, 则函数将返回一个布尔值来确认:
/** * A function that verifies wether the given string is Palindrome or not. * * @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("Is Palindrome");
}else{console.log("It's not Palindrome");
}
用原型功能验证如果你愿意在不提供字符串作为任何函数的第一个参数的情况下测试字符串是否为回文式, 只要变量是字符串, 就可以通过创建String原型并为其创建自己的函数来创建快捷方式。这样, 你可以调用isPalindrome方法, 就好像它是字符串的属性一样, 例如:
/** * An extension function for strings that allows you to verify * wether the string is Palindrome or not. * * @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("Is Palindrome");
}else{console.log("It's not Palindrome");
}
进一步的例子:
// True"A Toyota! Race fast, safe car! A Toyota!".isPalindrome()// True"A car, a man, a maraca.".isPalindrome()// True"Eye".isPalindrome()// False"Never even or odd".isPalindrome()
【如何使用JavaScript检查字符串是否是回文】编码愉快!
推荐阅读
- 如何在ACE Editor装订线上添加(切换)断点
- 如何在Ubuntu 16.04中使用命令行CLI安装ClamAV并扫描病毒
- 如何在JavaScript中对字符串进行驼峰化和脱峰处理
- JavaScript异常在Google Chrome中的含义为”不允许将顶部框架导航到数据URL(”)
- 如何安装和使用Exa,这是Ubuntu 16.04中ls命令的现代替代品
- 如何在dhtmlxScheduler中更改事件的默认长度(持续时间)
- 如何使用纯JavaScript或jQuery在客户端对表进行排序
- 如何使用MathCalc在JavaScript中实现基本的数学表达式计算器
- 讯飞输入法运用小技巧总结