22

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!

1
  • 3
    Note that you can simplify that function to return str != str.toLowerCase(). Commented Aug 28, 2010 at 16:31

2 Answers 2

11

Yes, that will work. Incidentally, the Boolean keywords are true and false, lower case. :)

Sign up to request clarification or add additional context in comments.

5 Comments

I the same vein the function can be shortened to: function hasUpper (str) { return str !== str.toLowerCase (); } Bah, no formatting in comments :-(
@Hans B PUFAL: asddYou can format by bracketing with the backwards accent character, which is the lowercase option on the tilde key (~).
not neccesarily - im the # symbol is the lowercase option on my (UK) keyboard. The backtick symbol is above the tab key.
@Nico Burns: Reminds me of Shaw's comment that England and America are two countries separated by a common language. Cheers. :)
Thanks! the Boolean keywords are in lowercase, indeed.
3

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!

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.