首頁 >web前端 >js教程 >JavaScript更改字串的大小寫_javascript技巧

JavaScript更改字串的大小寫_javascript技巧

WBOY
WBOY原創
2016-05-16 16:00:361544瀏覽

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」一樣。一般來說,在不知道自己的程式碼將在那種語言環境下運行的情況下,還是使用針對地區額的方法更穩妥一些。

以上所述就是本文的全部內容了,希望大家能夠喜歡。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn