如何使用JavaScripttestingstring中的字母是大写还是小写?

如何使用JavaScripttestingstring中的字母是大写还是小写?

如果字符或整个string是数字,josh和maleki的答案将返回大写和小写的真。 结果是一个错误的结果。 例如使用乔希

 var character = '5'; if (character == character.toUpperCase()) { alert ('upper case true'); } if (character == character.toLowerCase()){ alert ('lower case true'); } 

另一种方法是首先testing它是否为数字,否则testing它是否大写或小写的例子

 var strings = 'this iS a TeSt 523 Now!'; var i=0; var character=''; while (i <= strings.length){ character = strings.charAt(i); if (!isNaN(character * 1)){ alert('character is numric'); }else{ if (character == character.toUpperCase()) { alert ('upper case true'); } if (character == character.toLowerCase()){ alert ('lower case true'); } } i++; } 
 if (character == character.toLowerCase()) { // The character is lowercase } else { // The character is uppercase } 

如果字符是大写字母,则会logging为真,并在其他情况下logging为false:

 var letters = ['a', 'b', 'c', 'A', 'B', 'C', '(', ')', '+', '-', '~', '*']; ​​​for (var ​i = 0; i<letters.length; i++) { if (letters[i] === letters[i].toUpperCase() && letters[i] !== letters[i].toLowerCase()) { console.log(letters[i] + ": " + true); } else { console.log(letters[i] + ": " + false); } }​ 

你可以在这里testing它: http : //jsfiddle.net/Axfxz/ (使用Firebug或者)。

 ​​​for (var ​i = 0; i<letters.length; i++) { if (letters[i] !== letters[i].toUpperCase() && letters[i] === letters[i].toLowerCase()) { console.log(letters[i] + ": " + true); } else { console.log(letters[i] + ": " + false); } }​ 

这是小写:)。

与其他答案的问题是,一些字符如数字或标点符号也检查小写/大写时返回true。

我发现这个工作非常好:

 function isLowerCase(str) { return str == str.toLowerCase() && str != str.toUpperCase(); } 

这将适用于标点符号,数字和字母:

 assert(isLowerCase("a")) assert(!isLowerCase("Ü")) assert(!isLowerCase("4")) assert(!isLowerCase("_")) 

要检查一个字母,只需使用isLowerCase(str[charIndex])调用它

您可以使用正则expression式testing和toUpperCase方法:

 String.prototype.charAtIsUpper = function (atpos){ var chr = this.charAt(atpos); return /[AZ]|[\u0080-\u024F]/.test(chr) && chr === chr.toUpperCase(); }; // usage (note: character position is zero based) 'hi There'.charAtIsUpper(3); //=> true 'BLUE CURAÇAO'.charAtIsUpper(9); //=> true 'Hello, World!'.charAtIsUpper(5); //=> false 

也可以看看

 function isUpperCase(myString) { return (myString == myString.toUpperCase()); } function isLowerCase(myString) { return (myString == myString.toLowerCase()); } 

更具体地说是要问什么。 通过一个string和一个位置来检查。 非常接近乔希的,除了这个比较大的string。 本来会添加评论,但我还没有这个能力。

 function isUpperCase(myString, pos) { return (myString.charAt(pos) == myString.charAt(pos).toUpperCase()); } function isLowerCase(myString, pos) { return (myString.charAt(pos) == myString.charAt(pos).toLowerCase()); } 

您也可以使用正则expression式来显式检测大写的罗马字母字符。

 isUpperCase = function(char) { return !!/[AZ]/.exec(char[0]); }; 

编辑:上面的函数是正确的ASCII /基本拉丁Unicode,这可能是你永远关心的所有。 以下版本还支持Latin-1 Supplement以及希腊语和Coptic Unicode块…如果您因为某种原因需要这些function。

 isUpperCase = function(char) { return !!/[A-ZÀ-ÖØ-ÞΆΈ-ΏΑ-ΫϢϤϦϨϪϬϮϴϷϹϺϽ-Ͽ]/.exec(char[0]); }; 

如果您需要进一步支持(大写?),则此策略开始下降,因为某些块混合了大小写字符。

 const isUpperCase = (string) => /^[AZ]*$/.test(string) 

然后 :

 isUpperCase('A') // true isUpperCase('a') // false 

有一个非常简单的答案,其他人没有提到:

 function isLowerCase(str) { return str !== str.toUpperCase(); } 

如果str.toUpperCase()不返回相同的str ,则必须是小写的。 要testing大写字母,请将其更改为str !== str.toLowererCase()

与其他答案不同,它可以在非字母字符上正常工作(返回false ),并且适用于其他字母,重音字符等。

这个问题的一个很好的答案应该是简洁,正确处理unicode,并处理空string和空值。

 function isUpperCase(c) { return !!c && c != c.toLocaleLowerCase(); } 

这种方法首先处理空string和空值,然后确保将给定string转换为小写字母会改变其相等性。 这可以确保string根据当前的本地大小写规则包含至less一个大写字母(并且不会返回没有大写字母的数字和其他字形的误报)。

原来的问题特别要求testing第一个字符。 为了保持你的代码简单明了,我将把string中的第一个字符与testing是否是大写分开。

你也可以使用这个,它会检查string的大小写

 var s = "a" if(/[az]/.test(s)){ alert ('lower case true'); } if(/[AZ]/.test(s)) { alert ('upper case true'); } 

你可以使用匹配方法和正则expression式来testing你的数组是否有大写或小写string,下面只是开始testing的基础

  var array = ['a', 'b', 'c', 'A', 'B', 'C', '(', ')', '+', '-', '~', '*']; var character = array.join('') console.log(character) var test = function(search){ upperCase = search.match(/[AZ]/g) console.log(upperCase) lowerCase = search.match(/[az]/g) console.log(lowerCase) } test(character) 
 function isCapital(ch){ if(ch.charCodeAt() >= 65 && ch.charCodeAt() <= 90){ return true; } return false; } 

假设一个string只被认为不是全部大写,如果至less有一个小写字母存在,这工作正常。 我知道这不像其他人试图做的那样简明扼要,但它起作用=)

 function isUpperCase(str) { for (var i = 0, len = str.length; i < len; i++) { var letter = str.charAt(i); var keyCode = letter.charCodeAt(i); if (keyCode > 96 && keyCode < 123) { return false; } } return true; } 

一个我使用(注意这不会使“TestString”为“T est String”或“Test String”)。

 function seperateCapitalised(capitalisedString) { if (typeof capitalisedString !== "string" || capitalisedString.length === 0) return capitalisedString; var newStr = capitalisedString[0]; for (var i = 1; i < capitalisedString.length; i++) { var char = capitalisedString[i]; if (char === char.toUpperCase() && isNaN(char)) { newStr += ' ' + char; } else { newStr += char; } } return newStr; } 

如果你想testing一个string包含任何大写或小写字母,我有一个“傻”的方式。

 public class checkString { String s; int lowerCase; int upperCase; char sArray[] = new char[s.length()]; for(int i = 0; i < s.length; i++){ sArray[i] = s.charAt(i); //put every characters in string into a char array } for(int j = 0; j < sArray.length; j++){ if(Character.isUpperCase(sArray[i])){ upperCase++; } else if(Character.isLowerCase(sArray[i])){ lowerCase++; } } if(lowerCase >= 1 && upperCase >=1){ //true// } else{ //false// } } 

将string放入一个char数组中,并使用Character类。

我需要testing任何字符的string(包括空格,标记,数字,unicode字符…)。 因为空格,数字,标记…在大写和小写都是一样的,我想要find真正的大写字母,我这样做:

 let countUpperCase = 0; let i = 0; while (i <= string.length) { const character = string.charAt(i); if (character === character.toUpperCase() && character !== character.toLowerCase()) { countUpperCase++; } i++; } 

这是我最近做的:

1)检查char / string是否小写

s.toLowerCase() == s && s.toUpperCase() != s

2)检查是大写

s.toUpperCase() == s && s.toLowerCase() != s

涵盖了包含非字母字符和变音符号的情况。

 function checkCharType (charToCheck) { // body... var returnValue = "O"; var charCode = charToCheck.charCodeAt(0); if(charCode >= "A".charCodeAt(0) && charCode <= "Z".charCodeAt(0)){ returnValue = "U"; }else if (charCode >= "a".charCodeAt(0) && charCode <= "z".charCodeAt(0) ){ returnValue = "L"; }else if (charCode >= "0".charCodeAt(0) && charCode <= "9".charCodeAt(0) ) { returnValue = "N"; } return returnValue; } var myString = prompt("Enter Some text: ", "Hello world !"); switch (checkCharType(myString)) { case "U": // statements_1 document.write("First character was upper case"); break; case "L": document.write("First character was a lower case"); break; case "N": document.write("First character was a number"); break default: // statements_def document.write("First character was not a character or a number"); break; } 
  1. 定义一个函数checkCharType()。通过声明variablesreturnValue并初始化为字符“O”来表示它是一些其他的值。

  2. U代表大写; L代表小写字母; N代表号码

  3. 使用charCodeAt()方法获取第一个字符的字符代码。

  4. 使用if语句来检查字符代码落在什么值的范围内。

  5. 如果它落在A和Z的字符代码之间,它的大写字母代码在a和z之间,它的小写字母。 等等。

  6. “A” .charCode(0)

    var myChar = new String(“A”); myChar.charCodeAt(0); “A”:数字代码“65”

  7. 检查string
 <script type="text/javascript"> function check(){ var str="AabczZ"; for(var i=0;i<str.length;i++){ var char=str.charCodeAt(i); if(char>=65 && char<=90){ // char is in uppercase }else if(char>=97 && char<=122){ // char is in lowercase }else{ // special Char } } } 
 class check { public static void main() { String s="ALPHABET"; char c='a'; if(String.isUpperCase(s)) { //CODE// } if(Character.isUpperCase(c)) { //CODE// } } }