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 相关文章推荐
JS中style属性
Oct 11 Javascript
JavaScript面向对象之体会[总结]
Nov 13 Javascript
初识Javascript小结
Jul 16 Javascript
JavaScript数据类型判定的总结笔记
Jul 31 Javascript
基于JQuery实现图片轮播效果(焦点图)
Feb 02 Javascript
基于jQuery实现select下拉选择可输入附源码下载
Feb 03 Javascript
AngularJS教程之简单应用程序示例
Aug 16 Javascript
jQuery文字轮播特效
Feb 12 Javascript
Bootstrap表格制作代码
Mar 17 Javascript
jQuery自定义图片上传插件实例代码
Apr 04 jQuery
Angular在模板驱动表单中自定义校验器的方法
Aug 09 Javascript
Vue开发之封装分页组件与使用示例
Apr 25 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编码规范的深入探讨
2013/06/06 PHP
解析php扩展php_curl.dll不加载的解决方法
2013/06/26 PHP
PHP解析html类库simple_html_dom的转码bug
2014/05/22 PHP
php将远程图片保存到本地服务器的实现代码
2015/08/03 PHP
表单项的name命名为submit、reset引起的问题
2007/12/22 Javascript
javascript tips提示框组件实现代码
2010/11/19 Javascript
JS关键字变色实现思路及代码
2013/02/21 Javascript
select标签模拟/美化方法采用JS外挂式插件
2013/04/01 Javascript
浅谈关于JavaScript的语言特性分析
2013/04/11 Javascript
对frameset、frame、iframe的js操作示例代码
2013/08/16 Javascript
css如何让浮动元素水平居中
2015/08/07 Javascript
JavaScript给input的value赋值引发的关于基本类型值和引用类型值问题
2015/12/07 Javascript
Vue单页面应用保证F5强刷不清空数据的解决方案
2018/01/31 Javascript
react-native android状态栏的实现
2018/06/15 Javascript
基于游标的分页接口实现代码示例
2018/11/12 Javascript
vue 使用高德地图vue-amap组件过程解析
2019/09/07 Javascript
在layui中对table中的数据进行判断(0、1)转换为提示信息的方法
2019/09/28 Javascript
使用jQuery实现购物车
2020/10/29 jQuery
Python实现查找匹配项作处理后再替换回去的方法
2017/06/10 Python
python Opencv计算图像相似度过程解析
2019/12/03 Python
解决jupyter notebook 出现In[*]的问题
2020/04/13 Python
10种CSS3实现的loading动画,挑一个走吧?
2020/11/16 HTML / CSS
Weekendesk意大利:探索多种引人入胜的周末主题
2016/10/14 全球购物
德国团购网站:Groupon德国
2018/03/13 全球购物
家得宝墨西哥官网:The Home Depot墨西哥
2019/11/18 全球购物
static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?
2015/02/22 面试题
铭万公司.net面试题笔试题
2014/07/20 面试题
职业教育毕业生求职信
2013/11/09 职场文书
触摸春天教学反思
2014/02/03 职场文书
史学专业毕业生求职信
2014/05/09 职场文书
协会周年庆活动方案
2014/08/26 职场文书
领导干部群众路线剖析材料
2014/10/09 职场文书
酒店工程部经理岗位职责
2015/04/09 职场文书
党员干部公开承诺书范文
2015/04/27 职场文书
校园广播稿范文
2015/08/19 职场文书
班级元旦晚会开幕词
2016/03/04 职场文书