字符串中的高级检查字母大小写(大/小)



我正在研究一个特殊的脚本,用于修复文本区域内的字母。我发现我堆叠的一个问题。在Stackoverflow上,我找不到解决方案,需要帮助。

我的脚本有一个系统,用于识别每个单词,以大写的第一个字母开头,以及一个单词是否具有所有小写单词。但是,如果我得到类似LoWeRcAsE我的脚本不会将其识别为错误。

例:

L  - ok
o  - ok
W  - not ok
e  - ok
R  - not ok
c  - ok
A  - not ok
s  - ok
E  - not ok

如您所见,第一个字符L在大写时是可以的,但如果是小写也可以,但单词中的任何其他字符都需要小写。

我尝试使用Stackoverflow的这个解决方案,但它不起作用。

怎么做?

您可以使用此正则表达式使用单词边界来验证您的情况:

/b[a-zA-Z][a-z]*b/
这将允许第一个字符为大写或小写字母

,但强制所有其他字符为小写字母。

正则表达式演示

我创建了这个函数来检查单词的大小写。您可以对文本区域中的每个单词调用此值。

function checkCapitalization(s){
  return (s === s.charAt(0).toUpperCase() + s.slice(1).toLowerCase());
}
checkCapitalization("LoWeRcAsE")

不确定

您需要多久检查一次特定字符串,但您可以创建一个方法来检查字符串,如下所示:

String.prototype.isCamelCase = function(){ 
    for( var i=1;i< this.length;i++){
        if( this.charCodeAt(i) < 97) {
            return true;
        }
    }
    return false;
} 

"Baz".isCamelCase(); // returns false
"fOo".isCamelCase(); // returns true 

最新更新