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为数字添加逗号并格式化数字的代码
Aug 23 Javascript
Javascript中匿名函数的多种调用方式总结
Dec 06 Javascript
提交按钮的name='submit'引起的js失效问题及原因
Feb 25 Javascript
简单分析javascript面向对象与原型
May 21 Javascript
javascript常用函数(2)
Nov 05 Javascript
vue开发调试神器vue-devtools使用详解
Jul 13 Javascript
Vue.js进行查询操作的实例详解
Aug 25 Javascript
详解基于vue-cli优化的webpack配置
Nov 06 Javascript
vue 子组件向父组件传值方法
Feb 26 Javascript
JS中通过url动态获取图片大小的方法小结(两种方法)
Oct 31 Javascript
Vue.js暴露方法给WebView的使用操作
Sep 07 Javascript
三种方式清除vue路由跳转router-link的历史记录
Apr 10 Vue.js
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的zip解压缩类pclzip使用示例
2014/03/14 PHP
30个php操作redis常用方法代码例子
2014/07/05 PHP
PHP与SQL语句常用大全
2016/12/10 PHP
PHP isset()与empty()的使用区别详解
2017/02/10 PHP
php探针使用原理和技巧讲解
2019/09/17 PHP
php 中self,this的区别和操作方法实例分析
2019/11/04 PHP
DEFER怎么用?
2006/07/01 Javascript
JavaScript小技巧 2.5 则
2010/09/12 Javascript
javascript判断ie浏览器6/7版本加载不同样式表的实现代码
2011/12/26 Javascript
js实现简单div拖拽功能实例
2015/05/12 Javascript
详解JavaScript基于面向对象之继承
2015/12/13 Javascript
纯js实现悬浮按钮组件
2016/12/17 Javascript
基于javascript的Form表单验证
2016/12/29 Javascript
js 原型对象和原型链理解
2017/02/09 Javascript
Angular 2.x学习教程之结构指令详解
2017/05/25 Javascript
BootStrap Fileinput上传插件使用实例代码
2017/07/28 Javascript
vue动态绑定组件子父组件多表单验证功能的实现代码
2018/05/14 Javascript
ssm+vue前后端分离框架整合实现(附源码)
2020/07/08 Javascript
解决vue初始化项目一直停在downloading template的问题
2020/11/09 Javascript
vue 数据双向绑定的实现方法
2021/03/04 Vue.js
[34:56]Ti4冒泡赛LGD vs Liquid 1
2014/07/14 DOTA
[53:15]2018DOTA2亚洲邀请赛3月29日 小组赛A组 KG VS OG
2018/03/30 DOTA
Python的Bottle框架的一些使用技巧介绍
2015/04/08 Python
Python实现二叉堆
2016/02/03 Python
玩转python selenium鼠标键盘操作(ActionChains)
2020/04/12 Python
Python和C/C++交互的几种方法总结
2017/05/11 Python
python 数字类型和字符串类型的相互转换实例
2018/07/17 Python
Python使用googletrans报错的解决方法
2018/09/25 Python
python实现自动解数独小程序
2019/01/21 Python
Pyqt5实现英文学习词典
2019/06/24 Python
Python实现word2Vec model过程解析
2019/12/16 Python
暑期实习鉴定
2013/12/16 职场文书
2014年大学生党员评议表自我评价
2014/09/20 职场文书
公共场所卫生管理制度
2015/08/05 职场文书
先进个人主要事迹范文
2015/11/04 职场文书
Python+Tkinter打造签名设计工具
2022/04/01 Python