JavaScript更改字符串的大小寫
JavaScript提供了兩個(gè)方法,將字符串轉(zhuǎn)換為全部大寫或全部小寫,從而可以將“hello”更改為“HELLO”,或者將“NOT”更改為“not”。你可能會(huì)問,為什么?將字符串中的字母轉(zhuǎn)換為相同的大小寫,這可以使得比較兩個(gè)字符串變得更容易。例如,假設(shè)你創(chuàng)建了一個(gè)題程序,并且,一個(gè)問題是“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'
注意,這些方法都沒有真正改變實(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提交表單解決一個(gè)頁(yè)面有多個(gè)提交按鈕的問題
這篇文章主要介紹了用js提交表單解決一個(gè)頁(yè)面有多個(gè)提交按鈕的問題,主要是判斷是否為提交文本,然后再執(zhí)行相應(yīng)的動(dòng)作,需要的朋友可以參考下2014-09-09
微信小程序使用toast消息對(duì)話框提示用戶忘記輸入用戶名或密碼功能【附源碼下載】
這篇文章主要介紹了微信小程序使用toast消息對(duì)話框提示用戶忘記輸入用戶名或密碼功能,結(jié)合實(shí)例形式詳細(xì)分析了toast組件實(shí)現(xiàn)消息提示功能的相關(guān)操作技巧,并附帶源碼供讀者下載參考,需要的朋友可以參考下2017-12-12
手機(jī)開發(fā)必備技巧:javascript及CSS功能代碼分享
這篇文章主要介紹了手機(jī)開發(fā)必備技巧:javascript及CSS功能代碼分享,本文講解了viewport(可視區(qū)域)操作、鏈接操作、javascript事件等內(nèi)容,需要的朋友可以參考下2015-05-05
JS實(shí)現(xiàn)遮罩層效果的簡(jiǎn)單實(shí)例
這篇文章介紹了JS實(shí)現(xiàn)遮罩層效果的簡(jiǎn)單實(shí)例,有需要的朋友可以參考一下2013-11-11
JavaScript中自動(dòng)插入分號(hào)的規(guī)則詳解
JavaScript?提供了?automatic?semicolon?insertion?(ASI)自動(dòng)插入分號(hào)規(guī)則,在不加分號(hào)的情況下,會(huì)自動(dòng)補(bǔ)充分號(hào)來(lái)分隔不同語(yǔ)句,下面我們就來(lái)具體了解一下這一規(guī)則吧2024-01-01
Bootstrap 最常用的JS插件系列總結(jié)(圖片輪播、標(biāo)簽切換等)
這篇文章主要為大家詳細(xì)介紹了Bootstrap 最常用的JS插件,包括圖片輪播carousel.js、標(biāo)簽切換tab.js、滾動(dòng)監(jiān)聽scrollspy.js等,感興趣的小伙伴們可以參考一下2016-07-07
JS遍歷ul下的li點(diǎn)擊彈出li的索引的實(shí)現(xiàn)方法
這篇文章主要介紹了JS遍歷ul下的li點(diǎn)擊彈出li的索引的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-09-09

