I'm creating a browser-based form verification script that checks if the input doesn't have any uppercase characters according to Unicode Standards. My definition of an uppercase character is a character that has a lowercase mapping. If a certain character in the input string doesn't have a lowercase or uppercase mapping (like chinese characters) then it's alright (it should pass my validation).
I'm using UTF-8 encoding.
I'm planning to create a function that looks like this:
function hasUpper(str){
if(str != str.toLowerCase()){
return true
}
else {
return false
}
}
Will this work for my needs?
Thanks!
I'm creating a browser-based form verification script that checks if the input doesn't have any uppercase characters according to Unicode Standards. My definition of an uppercase character is a character that has a lowercase mapping. If a certain character in the input string doesn't have a lowercase or uppercase mapping (like chinese characters) then it's alright (it should pass my validation).
I'm using UTF-8 encoding.
I'm planning to create a function that looks like this:
function hasUpper(str){
if(str != str.toLowerCase()){
return true
}
else {
return false
}
}
Will this work for my needs?
Thanks!
Share Improve this question edited May 3, 2019 at 5:48 Albert asked Aug 28, 2010 at 13:02 AlbertAlbert 3,6513 gold badges29 silver badges54 bronze badges 1 |2 Answers
Reset to default 11Yes, that will work. Incidentally, the Boolean keywords are true
and false
, lower case. :)
The question answered here seems to indicate that toLower and toUpper are Unicode-aware:Stack OverFlow
And this one goes into it in more detail (indicating that some mappings conflict with the real world):more Stack Overflow
Hope this helps!
return str != str.toLowerCase()
. – Eli Grey Commented Aug 28, 2010 at 16:31