2010-08-28 60 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

希望这有助于!