如何使用JavaScript测试字符串中的字母是大写还是小写?
当前回答
我相信这是最简单的解决办法。你可以在输入字段中使用onchange处理程序。进行验证
const isValid = e.target.value === e.target.value.toLowerCase()
if (isValid) {
//Do something
} else {
//Do something
}
其他回答
更确切地说,是关于被问到的问题。传入一个字符串和一个要检查的位置。和Josh的很接近,只是这个比较的是更大的字符串。会添加作为一个评论,但我还没有这个能力。
function isUpperCase(myString, pos) {
return (myString.charAt(pos) == myString.charAt(pos).toUpperCase());
}
function isLowerCase(myString, pos) {
return (myString.charAt(pos) == myString.charAt(pos).toLowerCase());
}
另一种方法是将字符与空对象进行比较,我不知道为什么它可以工作,但它可以工作:
for (let i = 1; i <= 26; i++) {
const letter = (i + 9).toString(36).toUpperCase();
console.log('letter', letter, 'is upper', letter<{}); // returns true
}
for (let i = 1; i <= 26; i++) {
const letter = (i + 9).toString(36);
console.log('letter', letter, 'is upper', letter<{}); // returns false
}
在函数中:
function charIsUpper(character) {
return character<{};
}
编辑:它不工作与重音和变音符,所以可以删除它
function charIsUpper(character) {
return character
.normalize('NFD')
.replace(/[\u0300-\u036f]/g, '')<{};
}
在现代浏览器中,您可以使用regexp和unicode属性测试。
/\p{Lu}/u.test("A") // is true
/\p{Lu}/u.test("Å") // is true
/\p{Lu}/u.test("a1å") // is false
更多信息:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions/Unicode_Property_Escapes
一般类别列表如下:
https://unicode.org/reports/tr18/#General_Category_Property
你也可以使用这个,它将检查字符串的小写字母和大写字母
var s = "a"
if(/[a-z]/.test(s)){
alert ('lower case true');
}
if(/[A-Z]/.test(s)) {
alert ('upper case true');
}
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;
}
Define a Function checkCharType().By declaring the variable returnValue and initialising it to the Character "O" to indicate it's Some other value. U for uppercase; L for Lowercase ; N for number Use the charCodeAt() method to get the character code of the first character. Using if Statement , which check within what range of values the character code falls. If it falls between the character codes for A and Z, Its Uppercase, character code between a and z ,Its Lowercase. and so on. "A".charCode(0) var myChar = new String("A"); myChar.charCodeAt(0); "A" : number code "65“ Check the String