我想知道如何不使用函數。我試過使用String.fromCharCode
,但我想我沒有做對。有任何想法嗎?如何在不使用toUppercase的情況下將字母從小寫更改爲大寫?
-5
A
回答
5
如果您想要支持除英文字母a
到z
之外的任何其他字符,將字符從小寫轉換爲大寫並不重要。 Unicode數據庫中涉及映射。
所以toUpperCase
是適合這份工作的最佳工具。根據the spec,它使用Unicode數據庫來選擇適當的大寫字符。 (該鏈接是toLowerCase
因爲toUpperCase
只是說,它做同樣的事情toLowerCase
,但大寫)。
但是如果你只通過z
支持英文字母a
,那些由字符代碼97到122表示,包括的。 A
至Z
由字符代碼65至90表示,包括端點在內。所以:
var upperChar = String.fromCharCode(lowerChar.charCodeAt(0) - 32);
會這樣做。但我強烈建議而不是這樣做。
1
看看ascii表ASCII。 A = 65 ... A = 97
而且不要忘了,是不是這樣做的正確的方式,但如果你需要去到這個水平編程的這個是這樣的。這隻適用於ascii(英文字母)。
會有很多缺點,但這是你的問題的答案:)。
1
'A'的ASCII值是65而'a'是97.它們之間的差值是97 - 65 = 32 所以如果我們將在'A'的ASCII值中加32,那麼它將是'a'如果我們將「a」的ASCII值減去32,它將是「A」。所有字母都是如此。 在一般規則:
大寫字母=小寫字符 - 32
小寫字符=大寫字母+ 32
相關問題
- 1. 如何在縮寫字母大寫的情況下更改大寫字母的大小寫?
- 2. 不使用toUpperCase()方法將小寫字母傳遞給大寫字母
- 3. 如何在不改變大小寫的情況下使用str_replace?
- 4. 僅在第一個字母不是大寫的情況下才將字符串轉換爲小寫字母
- 5. 使用.toUpperCase檢查大寫字母
- 6. 需要在Delphi中將大寫字母改爲小寫字母
- 7. 如何將大寫字母更改爲小寫字母和空格以強調
- 8. x86彙編:更改一個大寫字母爲小寫字母
- 9. SQL Server如何將1個字母從小寫更改爲大寫?
- 10. 在沒有ctype.h的情況下轉換大小寫字母
- 11. haskell:將小寫字母更改爲字符串列表中的大寫字母
- 12. 更改字符串從小寫字母到原始大小寫
- 13. 如何在不區分大小寫的情況下按字母順序排序
- 14. 如何小寫字母轉換爲大寫字母和大寫字母爲小寫字母
- 15. 如何將空格更改爲下劃線和小寫字母?
- 16. 將小寫字母更改爲:數字00-25,將大寫字母更改爲:數字26-51
- 17. 將小寫字母轉換爲大寫
- 18. 將小寫字母轉換爲大寫
- 19. 如何更改大寫改爲小寫
- 20. Sed不能將大寫字母轉換爲小寫字母
- 21. 如何使用awk將小寫字母替換爲大寫字母'C'?
- 22. X86 NASM將大寫字母轉換爲大寫字母和小寫字母
- 23. 從所有大寫更改爲正常情況下的輸入
- 24. 如何輸入字母並將其更改爲大寫和小寫? JAVA
- 25. 在C++中將小寫字母轉換爲大寫字母
- 26. 在java中將小寫字母轉換爲大寫字母
- 27. VBA代碼,如何在Excel中將大寫字母改成小寫字母
- 28. 試圖使用.toUpperCase()將字母轉換爲大寫...不起作用?
- 29. 如何在不使用JavaScript中的正則表達式的情況下將大寫字母轉換爲小寫字母,反之亦然?
- 30. 用小寫字母寫成小寫字母大寫
請發表你嘗試過什麼。 – 2013-03-07 13:32:16
避免「toUpperCase」有什麼意義?你曾經說過你想做「不使用函數...」,然後立即談論**函數**('fromCharCode')。 – 2013-03-07 13:32:29
看看ASCII圖表http://www.asciitable.com/,很容易看出,只需通過從char的十進制值中加上或減去32即可從上/下轉換。 – asawyer 2013-03-07 13:34:55