JavaScript更改字符串的大小寫
JavaScript提供了兩個(gè)方法,將字符串轉(zhuǎn)換為全部大寫或全部小寫,從而可以將“hello”更改為“HELLO”,或者將“NOT”更改為“not”。你可能會(huì)問(wèn),為什么?將字符串中的字母轉(zhuǎn)換為相同的大小寫,這可以使得比較兩個(gè)字符串變得更容易。例如,假設(shè)你創(chuàng)建了一個(gè)題程序,并且,一個(gè)問(wèn)題是“Who was the first American to win the Tour De France?”你可能用類似下面的代碼來(lái)檢查參加答題者的答案:
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,結(jié)果會(huì)如何呢?條件看上去類似這樣:'Greg Lemond'=='Greg LeMond'。由于JavaScript是區(qū)分大小寫字母的,Lemond中的小寫字母'm'不會(huì)匹配LeMond中的'M',因此,參加答題者可能會(huì)得到答錯(cuò)的結(jié)果。如果參加答題者按下了Caps鍵,并且輸入了GREG LEMOND,也會(huì)得到同樣的結(jié)果。
要解決這個(gè)難題,我們可以將兩個(gè)字符串都轉(zhuǎn)換為同樣的大小寫,然后再比較它們:
if(response.toUpperCase()==correctAnswer.toUpperCase()){
//correct
}else{
//incorrect
}
在這個(gè)例子中,條件語(yǔ)句將參加答題者的答案和正確的答案都轉(zhuǎn)換為大寫字母,因此,'Greg Lemond'變成了'GREG LEMOND',并且'Greg LeMond'變成了'GREG LEMOND'。
要獲得全部小寫的字符串,像下面這樣使用toLowerCase()方法:
var answer='Greg LeMond'; alert(answer.toLowerCase());//'greg lemond'
注意,這些方法都沒(méi)有真正改變實(shí)際存儲(chǔ)在變量中的字符串,它們只是以全部大寫或全部小寫的形式返回了該字符串。因此,在上面的例子中,即便提示出現(xiàn)以后,answer仍然包含'Greg LeMond'(它們返回某些其他的值)。
toLowerCase()和toUpperCase()是兩個(gè)經(jīng)典的方法,借鑒自java.lang.String中的同名方法。而toLocaleLowerCase()和toLocaleUpper()方法則是針對(duì)特定地區(qū)的實(shí)現(xiàn)。對(duì)有些地區(qū)來(lái)說(shuō),針對(duì)地區(qū)的方法與通用方法得到的結(jié)果相同,但少數(shù)語(yǔ)言會(huì)為Unicode大小寫轉(zhuǎn)換應(yīng)用特殊的規(guī)則,這時(shí)候就必須要使用針對(duì)地區(qū)的方法來(lái)保證實(shí)現(xiàn)正確的轉(zhuǎn)換。
以下是幾個(gè)例子:
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”,就像調(diào)用了toLocaleLowerCase()和toLowerCase()都返回了“hello world”一樣。一般來(lái)說(shuō),在不知道自己的代碼將在那種語(yǔ)言環(huán)境下運(yùn)行的情況下,還是使用針對(duì)地區(qū)額的方法更穩(wěn)妥一些。
以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。
相關(guān)文章
JS實(shí)現(xiàn)自動(dòng)閱讀單詞(有道單詞本添加功能)
有道單詞客戶Duan沒(méi)有自動(dòng)閱讀的功能, 本文用強(qiáng)大的js實(shí)現(xiàn)了簡(jiǎn)單的自動(dòng)下一個(gè)單詞的功能,需要的朋友可以參考下2016-11-11
JavaScript中Require調(diào)用js的實(shí)例分享
下面小編就為大家?guī)?lái)一篇JavaScript中Require調(diào)用js的實(shí)例分享。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-10-10
javascript實(shí)現(xiàn)復(fù)制與粘貼操作實(shí)例
這篇文章主要介紹了javascript實(shí)現(xiàn)復(fù)制與粘貼操作,以實(shí)例形式講述了javascript實(shí)現(xiàn)復(fù)制與粘貼操作的實(shí)現(xiàn)方法,需要的朋友可以參考下2014-10-10
JavaScript之事件委托實(shí)例(附原生js和jQuery代碼)
下面小編就為大家?guī)?lái)一篇JavaScript之事件委托實(shí)例(附原生js和jQuery代碼)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07

