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树形菜单
Dec 09 Javascript
IE与FireFox的JavaScript兼容问题解决办法
Dec 31 Javascript
window.location.reload 刷新使用分析(去对话框)
Nov 11 Javascript
AngularJS 作用域详解及示例代码
Aug 17 Javascript
Angularjs中使用layDate日期控件示例
Jan 11 Javascript
原生js实现倒计时功能(多种格式调用)
Jan 12 Javascript
你真的了解BOM中的history对象吗
Feb 13 Javascript
JS拉起或下载app的实现代码
Feb 22 Javascript
JS实现留言板功能
Jun 17 Javascript
[原创]jquery判断元素内容是否为空的方法
May 04 jQuery
vue.js使用watch监听路由变化的方法
Jul 08 Javascript
详解vue-video-player使用心得(兼容m3u8)
Aug 23 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 无法加载mcrypt.dll的解决办法
2013/04/03 PHP
php jquery 多文件上传简单实例
2013/12/23 PHP
Javascript客户端脚本的设计和应用
2006/08/21 Javascript
js简易namespace管理器 实例代码
2013/06/21 Javascript
toggle一个div显示或隐藏且可扩展成自定义下拉框
2013/09/12 Javascript
js中function()使用方法
2013/12/24 Javascript
Js可拖拽放大的层拖动特效实现方法
2015/02/25 Javascript
javascript中scrollTop详解
2015/04/13 Javascript
基于javascript实现仿百度输入框自动匹配功能
2016/01/03 Javascript
实例详解Nodejs 保存 payload 发送过来的文件
2016/01/14 NodeJs
JS简单获取客户端IP地址的方法【调用搜狐接口】
2016/09/05 Javascript
js使用原型对象(prototype)需要注意的地方
2017/08/28 Javascript
layer子层给父层页面元素赋值,以达到向父层页面传值的效果实例
2017/09/22 Javascript
利用CDN加速react webpack打包后的文件详解
2018/02/22 Javascript
解决Nodejs全局安装模块后找不到命令的问题
2018/05/15 NodeJs
NVM安装nodejs的方法实用步骤
2019/01/16 NodeJs
微信小程序实现提交input信息到后台的方法示例
2019/01/19 Javascript
JS手写一个自定义Promise操作示例
2020/03/16 Javascript
python生成器generator用法实例分析
2015/06/04 Python
使用Python的urllib2模块处理url和图片的技巧两则
2016/02/18 Python
python 删除非空文件夹的实例
2018/04/26 Python
python3解析库pyquery的深入讲解
2018/06/26 Python
python获取微信小程序手机号并绑定遇到的坑
2018/11/19 Python
python实现简单的文字识别
2018/11/27 Python
Django 实现前端图片压缩功能的方法
2019/08/07 Python
tensorflow estimator 使用hook实现finetune方式
2020/01/21 Python
PyCharm MySQL可视化Database配置过程图解
2020/06/09 Python
Python文件操作模拟用户登陆代码实例
2020/06/09 Python
CSS3 Flexbox中flex-shrink属性的用法示例介绍
2013/12/30 HTML / CSS
捷克家具销售网站:SCONTO Nábytek
2020/01/02 全球购物
C#基础面试题
2016/10/17 面试题
行政监察建议书
2014/05/19 职场文书
感恩老师演讲稿400字
2014/08/28 职场文书
贷款承诺书
2015/01/20 职场文书
倡议书的格式写法
2015/04/28 职场文书
2016年国庆节67周年活动总结
2016/04/01 职场文书