2010-08-28 59 views
12

我正在創建一個基於瀏覽器的表單驗證腳本,用於根據Unicode標準檢查輸入是否沒有任何大寫字符。我對大寫字符的定義是具有小寫映射的字符。如果輸入字符串中的某個字符沒有小寫或大寫映射(如中文字符),那麼它是正常的(它應該通過我的驗證)。Javascript string.toLowerCase()在大小寫轉換中遵循Unicode標準嗎?

我正在使用UTF-8編碼。

我打算創建一個類似如下的功能:

function hasUpper(str){ 
    if(str != str.toLowerCase()){ 
    return True 
    } 
    else { 
    return False 
    } 
} 

將這項工作對我的需要?

謝謝!

+1

請注意,您可以將該函數簡化爲'return str!= str.toLowerCase()'。 – 2010-08-28 16:31:07

回答

5

是的,這將工作。順便提一句,布爾關鍵字是truefalse,小寫。 :)

+1

我可以將該函數縮短爲: 函數hasUpper(str)返回str!== str.toLowerCase(); } 呸,在:-( – HBP 2010-08-28 13:21:56

+0

@Hans乙PUFAL評論沒有格式:asddYou可以通過與向後重音字符,這是波浪號鍵(〜)小寫選項包圍格式化 – Robusto 2010-08-28 13:38:36

+0

不neccesarily - IM (英國)鍵盤上的#符號是小寫字母,倒勾符號位於tab鍵上方 – 2010-08-28 14:45:40

2

回答過的問題在這裏似乎表明TOLOWER和toupper都是Unicode感知:Stack OverFlow

而這一次進入比較詳細(表明一些映射與現實世界的衝突):more Stack Overflow

希望這有助於!