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下关于onmouseout、事件冒泡的问题经验小结
Dec 09 Javascript
js判断浏览器是否支持html5
Aug 17 Javascript
JavaScript数组对象实现增加一个返回随机元素的方法
Jul 27 Javascript
JavaScript获取页面中超链接数量的方法
Nov 09 Javascript
js实现当鼠标移到表格上时显示这一格全部内容的代码
Jun 12 Javascript
简单谈谈Vue 模板各类数据绑定
Sep 25 Javascript
Bootstrap实现导航栏的2种方式
Nov 28 Javascript
JavaScript 字符串常用操作小结(非常实用)
Nov 30 Javascript
jQuery Easyui datagrid连续发送两次请求问题
Dec 13 Javascript
jQuery实现获取form表单内容及绑定数据到form表单操作分析
Jul 03 jQuery
vue在index.html中引入静态文件不生效问题及解决方法
Apr 29 Javascript
vue.js实现点击图标放大离开时缩小的代码
Jan 27 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获取当前网址url并替换参数或网址的方法
2010/06/06 PHP
destoon设置自定义搜索的方法
2014/06/21 PHP
laravel 4安装及入门图文教程
2014/10/29 PHP
PHP通过插入mysql数据来实现多机互锁实例
2014/11/05 PHP
php使用cookie实现记住用户名和密码实现代码
2015/04/27 PHP
php爬取天猫和淘宝商品数据
2018/02/23 PHP
phpstudy隐藏index.php的方法
2020/09/21 PHP
js 父窗口控制子窗口的行为-打开,关闭,重定位,回复
2010/04/20 Javascript
如何判断元素是否为HTMLElement元素
2013/12/06 Javascript
jquery遍历checkbox介绍
2014/02/21 Javascript
详细分析使用AngularJS编程中提交表单的方式
2015/06/19 Javascript
Sea.JS知识总结
2016/05/05 Javascript
jQuery实现的placeholder效果完整实例
2016/08/02 Javascript
深入分析node.js的异步API和其局限性
2016/09/05 Javascript
用jQuery旋转插件jqueryrotate制作转盘抽奖
2017/02/10 Javascript
Angular.JS去掉访问路径URL中的#号详解
2017/03/30 Javascript
Angular 2.x学习教程之结构指令详解
2017/05/25 Javascript
Angular2 组件间通过@Input @Output通讯示例
2017/08/24 Javascript
基于Bootstrap表单验证功能
2017/11/17 Javascript
解决VUE mounted 钩子函数执行时 img 未加载导致页面布局的问题
2020/07/27 Javascript
基于vue实现简易打地鼠游戏
2020/08/21 Javascript
使用Python获取Linux系统的各种信息
2014/07/10 Python
Python中实现结构相似的函数调用方法
2015/03/10 Python
浅谈pyhton学习中出现的各种问题(新手必看)
2017/05/17 Python
Python cookbook(数据结构与算法)对切片命名清除索引的方法
2018/03/13 Python
解决Pycharm中import时无法识别自己写的程序方法
2018/05/18 Python
Pycharm如何运行.py文件的方法步骤
2020/03/03 Python
六年级数学教学反思
2014/02/03 职场文书
优秀教师工作感言
2014/02/16 职场文书
电工工作职责范本
2014/02/22 职场文书
《狼和小羊》教学反思
2014/04/20 职场文书
办公室禁烟通知
2015/04/23 职场文书
2015年新农村建设工作总结
2015/05/22 职场文书
创业计划书之宠物店
2019/09/19 职场文书
win11无线投屏在哪设置? win11无线投屏功能的使用方法
2022/04/08 数码科技
分析SQL窗口函数之聚合窗口函数
2022/04/21 Oracle