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在vs2008及js文件中的无智能提示的解决方法
Dec 30 Javascript
关于jquery的多个选择器的使用示例
Oct 18 Javascript
倒记时60刷新网页的js代码
Feb 18 Javascript
3种Jquery限制文本框只能输入数字字母的方法
Dec 03 Javascript
node.js中的fs.lchmod方法使用说明
Dec 16 Javascript
JS实现获取图片大小和预览的方法完整实例【兼容IE和其它浏览器】
Apr 24 Javascript
JavaScript全屏和退出全屏事件总结(附代码)
Aug 17 Javascript
JavaScript基础心法 深浅拷贝(浅拷贝和深拷贝)
Mar 05 Javascript
JavaScript多态与封装实例分析
Jul 27 Javascript
实例详解Vue项目使用eslint + prettier规范代码风格
Aug 20 Javascript
JS实现的tab页切换效果完整示例
Dec 18 Javascript
适合后台管理系统开发的12个前端框架(小结)
Jun 29 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
一个颜色轮换的简单例子
2006/10/09 PHP
NOT NULL 和NULL
2007/01/15 PHP
PHP 生成N个不重复的随机数
2015/01/21 PHP
你应该知道PHP浮点数知识
2015/05/13 PHP
PHP面试题之文件目录操作
2015/10/15 PHP
写的htc的数据表格
2007/01/20 Javascript
jquery用get实现ajax在ie里面刷新不进入后台解决方法
2013/08/12 Javascript
js模仿hover的具体实现代码
2013/12/30 Javascript
详解JavaScript基于面向对象之继承实例
2015/12/16 Javascript
基于jquery实现省市区三级联动效果
2015/12/25 Javascript
JS实现复选框的全选和批量删除功能
2017/04/05 Javascript
layui文件上传实现代码
2017/05/20 Javascript
js中document.write和document.writeln的区别
2018/03/11 Javascript
解决jquery有正确返回值但不执行success函数的问题
2018/08/20 jQuery
JS温故而知新之变量提升和时间死区
2019/01/27 Javascript
jQuery使用$.extend(true,object1, object2);实现深拷贝对象的方法分析
2019/03/06 jQuery
js简单粗暴的发布订阅示例代码
2021/01/23 Javascript
Python删除windows垃圾文件的方法
2015/07/14 Python
python+selenium实现QQ邮箱自动发送功能
2019/01/23 Python
Python中使用__new__实现单例模式并解析
2019/06/25 Python
基于Python获取城市近7天天气预报
2019/11/26 Python
Python操作注册表详细步骤介绍
2020/02/05 Python
python中的测试框架
2020/11/13 Python
canvas需要在标签里直接定义宽高
2014/12/17 HTML / CSS
携程旅行网:中国领先的在线旅行服务公司
2017/02/17 全球购物
Turnbull & Asser官网:英国皇室御用的顶级定制衬衫
2019/01/31 全球购物
泰国Robinson百货官网:购买知名品牌的商品
2020/02/08 全球购物
介绍一下UNIX启动过程
2013/11/14 面试题
医生实习工作总结的自我评价
2013/09/27 职场文书
涉外经济法专业毕业生推荐信
2013/11/24 职场文书
专升本个人自我评价
2013/12/22 职场文书
服务标兵事迹材料
2014/05/04 职场文书
户籍证明书标准模板
2014/09/10 职场文书
同事去世追悼词
2015/06/23 职场文书
2016简历自荐信优秀范文
2016/01/29 职场文书
Vue elementUI表单嵌套表格并对每行进行校验详解
2022/02/18 Vue.js