JavaScript更改字符串的大小写


Posted in Javascript onMay 07, 2015

JavaScript提供了两个方法,将字符串转换为全部大写或全部小写,从而可以将“hello”更改为“HELLO”,或者将“NOT”更改为“not”。你可能会问,为什么?将字符串中的字母转换为相同的大小写,这可以使得比较两个字符串变得更容易。例如,假设你创建了一个题程序,并且,一个问题是“Who was the first American to win the Tour De France?”你可能用类似下面的代码来检查参加答题者的答案:

var correctAnswer='Greg LeMond';
var response=prompt('Who was the first American to win the Tour De8
France?','');
if(response==correctAnswer){
//correct
}else{
//incorrect
}

答案是Greg LeMond,但是,如果参加答题的人输入了Greg Lemond,结果会如何呢?条件看上去类似这样:'Greg Lemond'=='Greg LeMond'。由于JavaScript是区分大小写字母的,Lemond中的小写字母'm'不会匹配LeMond中的'M',因此,参加答题者可能会得到答错的结果。如果参加答题者按下了Caps键,并且输入了GREG LEMOND,也会得到同样的结果。

要解决这个难题,我们可以将两个字符串都转换为同样的大小写,然后再比较它们:

if(response.toUpperCase()==correctAnswer.toUpperCase()){
//correct
}else{
//incorrect
}

在这个例子中,条件语句将参加答题者的答案和正确的答案都转换为大写字母,因此,'Greg Lemond'变成了'GREG LEMOND',并且'Greg LeMond'变成了'GREG LEMOND'。

要获得全部小写的字符串,像下面这样使用toLowerCase()方法:

var answer='Greg LeMond';
alert(answer.toLowerCase());//'greg lemond'

注意,这些方法都没有真正改变实际存储在变量中的字符串,它们只是以全部大写或全部小写的形式返回了该字符串。因此,在上面的例子中,即便提示出现以后,answer仍然包含'Greg LeMond'(它们返回某些其他的值)。

toLowerCase()和toUpperCase()是两个经典的方法,借鉴自java.lang.String中的同名方法。而toLocaleLowerCase()和toLocaleUpper()方法则是针对特定地区的实现。对有些地区来说,针对地区的方法与通用方法得到的结果相同,但少数语言会为Unicode大小写转换应用特殊的规则,这时候就必须要使用针对地区的方法来保证实现正确的转换。

以下是几个例子:

var sv="hello world";
alert(sv.toLocaleUpperCase());//"HELLO WORLD"
alert(sv.toUpperCase());//"HELLO WORLD"
alert(sv.toLocaleLowerCase());//"hello world"
alert(sv.toLowerCase());//“hello world”

以上代码用的toLocaleUpperCase()和toUpperCase()都返回了“HELLO WORLD”,就像调用了toLocaleLowerCase()和toLowerCase()都返回了“hello world”一样。一般来说,在不知道自己的代码将在那种语言环境下运行的情况下,还是使用针对地区额的方法更稳妥一些。

以上所述就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
基于jquery实现的定时显示与隐藏div广告的实现代码
Aug 22 Javascript
jQuery中DOM树操作之复制元素的方法
Jan 23 Javascript
深入理解JavaScript系列(39):设计模式之适配器模式详解
Mar 04 Javascript
详解JavaScript中的Unescape()和String() 函数
Nov 09 Javascript
AngularJS实现分页显示数据库信息
Jul 01 Javascript
微信JS接口大全
Aug 25 Javascript
webpack项目调试以及独立打包配置文件的方法
Feb 28 Javascript
Vue2.0 实现单选互斥的方法
Apr 13 Javascript
微信小程序实现简单表格
Feb 14 Javascript
利用Vconsole和Fillder进行移动端抓包调试方法
Mar 05 Javascript
微信小程序一周时间表功能实现
Oct 17 Javascript
Vue如何使用混合Mixins和插件开发详解
Feb 05 Javascript
JQUERY简单按钮轮换选中效果实现方法
May 07 #Javascript
JS基于面向对象实现的放烟花效果
May 07 #Javascript
jquery中trigger()无法触发hover事件的解决方法
May 07 #Javascript
javascript实现的图片切割多块效果实例
May 07 #Javascript
javascript中indexOf技术详解
May 07 #Javascript
javascript限制文本框输入值类型的方法
May 07 #Javascript
浅谈Javascript的静态属性和原型属性
May 07 #Javascript
You might like
php获取四位字母和数字的随机数的实现方法
2015/01/09 PHP
PHP实现Session入库/存入redis的方法
2017/05/04 PHP
PHP PDOStatement::bindParam讲解
2019/01/30 PHP
Thinkphp5框架简单实现钩子(Hook)行为的方法示例
2019/09/03 PHP
jquery.AutoComplete.js中文修正版(支持firefox)
2010/04/09 Javascript
javascript 利用Image对象实现的埋点(某处的点击数)统计
2012/12/28 Javascript
阻止子元素继承父元素事件具体思路及实现
2013/05/02 Javascript
js猜数字小游戏的简单实现代码
2013/07/02 Javascript
JavaScript实现的MD5算法完整实例
2016/02/02 Javascript
jQuery获取父元素及父节点的方法小结
2016/04/14 Javascript
JS针对浏览器窗口关闭事件的监听方法集锦
2016/06/24 Javascript
Jquery on绑定的事件 触发多次实例代码
2016/12/08 Javascript
jQuery实现两个select控件的互移操作
2016/12/22 Javascript
Angular 4.x 路由快速入门学习
2017/05/03 Javascript
webpack+vuex+axios 跨域请求数据的示例代码
2018/03/06 Javascript
原生JavaScript实现remove()和recover()功能示例
2018/07/24 Javascript
Vue js with语句原理及用法解析
2020/09/03 Javascript
在vue中axios设置timeout超时的操作
2020/09/04 Javascript
Python调用C语言开发的共享库方法实例
2015/03/18 Python
用Python编写一个每天都在系统下新建一个文件夹的脚本
2015/05/04 Python
python实现多线程抓取知乎用户
2016/12/12 Python
Python模块WSGI使用详解
2018/02/02 Python
python安装twisted的问题解析
2018/08/21 Python
Python判断对象是否为文件对象(file object)的三种方法示例
2019/04/26 Python
Python比较配置文件的方法实例详解
2019/06/06 Python
python3实现带多张图片、附件的邮件发送
2019/08/10 Python
html5新特性与用法大全
2018/09/13 HTML / CSS
分享一个H5原生form表单的checkbox特效代码
2018/02/26 HTML / CSS
html5 canvas-1.canvas介绍(hello canvas)
2013/01/07 HTML / CSS
HTML5+CSS3绘制锯齿状的矩形
2016/03/01 HTML / CSS
美国休闲服装品牌:Express
2016/09/24 全球购物
番木瓜健康和保健产品第一大制造商:Herbal Papaya
2017/04/25 全球购物
荷兰牛仔裤网上商店:Jeans Centre
2018/04/03 全球购物
中专毕业生自荐信
2013/11/16 职场文书
应届大专生自荐书
2014/06/16 职场文书
新农村建设指导员工作总结
2015/08/13 职场文书