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清空file文件域的解决方案
Apr 12 Javascript
node.js使用nodemailer发送邮件实例
Mar 10 Javascript
jquery中each遍历对象和数组示例
Aug 05 Javascript
JavaScript中的跨浏览器事件操作的基本方法整理
May 20 Javascript
JS简单生成两个数字之间随机数的方法
Aug 03 Javascript
微信小程序 scroll-view隐藏滚动条详解
Jan 16 Javascript
jQuery ajax请求struts action实现异步刷新
Apr 19 jQuery
jquery使用iscorll实现上拉、下拉加载刷新
Oct 26 jQuery
vue之浏览器存储方法封装实例
Mar 15 Javascript
详解JavaScript的内存空间、赋值和深浅拷贝
Apr 17 Javascript
Javascript原型链及instanceof原理详解
May 25 Javascript
vue+echarts+datav大屏数据展示及实现中国地图省市县下钻功能
Nov 16 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中实现获取IP和地理位置类分享
2015/02/10 PHP
WordPress分页伪静态加html后缀
2016/06/08 PHP
php 多继承的几种常见实现方法示例
2019/11/18 PHP
许愿墙中用到的函数
2006/10/07 Javascript
收藏Javascript中常用的55个经典技巧
2007/08/12 Javascript
js 学习笔记(三)
2009/12/29 Javascript
jQuery编写widget的一些技巧分享
2010/10/28 Javascript
js计算字符串长度包含的中文是utf8格式
2013/10/15 Javascript
一个判断抢购时间是否到达的简单的js函数
2014/06/23 Javascript
node.js操作mongoDB数据库示例分享
2014/11/26 Javascript
JS获取文件大小方法小结
2015/12/08 Javascript
Js遍历键值对形式对象或Map形式的方法
2016/08/08 Javascript
jQuery多选框选择数量限制方法
2017/02/08 Javascript
jQuery实现用户输入自动完成功能
2017/02/13 Javascript
JS使用正则表达式验证身份证号码
2017/06/23 Javascript
AngularJS select设置默认值的实现方法
2017/08/25 Javascript
关于vue-cli 3配置打包优化要点(推荐)
2019/04/22 Javascript
vue+vuex+axios从后台获取数据存入vuex,组件之间共享数据操作
2020/07/31 Javascript
通过JS判断网页是否为手机打开
2020/10/28 Javascript
关于element的表单组件整理笔记
2021/02/05 Javascript
基于Python中单例模式的几种实现方式及优化详解
2018/01/09 Python
详解Python3 中hasattr()、getattr()、setattr()、delattr()函数及示例代码数
2018/04/18 Python
Numpy与Pytorch 矩阵操作方式
2019/12/27 Python
详解pandas中iloc, loc和ix的区别和联系
2020/03/09 Python
对Keras中predict()方法和predict_classes()方法的区别说明
2020/06/09 Python
HTML5 History API 实现无刷新跳转
2016/01/11 HTML / CSS
美国女性服饰销售网站:Nasty Gal(坏女孩)
2016/07/26 全球购物
小学教师自我鉴定
2013/11/07 职场文书
中专生自我鉴定范文
2013/12/19 职场文书
《在家里》教后反思
2014/03/01 职场文书
党员学习新党章思想汇报
2014/10/25 职场文书
医院党建工作总结2015
2015/05/26 职场文书
信仰观后感
2015/06/03 职场文书
2019XX公司员工考核管理制度!
2019/08/07 职场文书
Java集成swagger文档组件
2021/06/28 Java/Android
Java详细解析==和equals的区别
2022/04/07 Java/Android