1

我正在编写一个特殊的脚本,用于固定文本区域内的字母。我在堆叠的地方发现了一个问题。在Stackoverflow上,我找不到解决方案,需要帮助。

我的脚本有一个系统,可以识别以第一个大写字母开头的每个单词,以及一个单词是否包含所有小写单词。但如果我得到这样的东西小写字母我的脚本不认为这是一个错误。

例子:

L-正常o-正常W-不正常e-好的R-不正常c-正常A-不正常s-正常E-不正常

就像你看到的,第一个角色L(左)大写时是ok,小写时也是ok,但单词中的任何其他字符都需要小写。

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

如何做到这一点?

1
  • 1
    这似乎很容易;你可以检查一下[A-Z][A-Z]*||【a-z】*(或多或少)。(答案将其概括为一个单一、清晰的正则表达式,但它是一样的。) 评论 2017年1月3日18:58

3个答案

重置为默认值
2

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

/\b[a-zA-Z][a-Z]*\b/

这将允许第一个字符为大写或小写字母,但强制所有其他字符为小写字母。

RegEx演示

1
  • 2
    这是最难的选择。在这里,我找到了非常好的答案,但我选择了最简单的一个。在我自己写正则表达式将近5年后,我看到自己反复学习。简单明了。谢谢@anubhava 评论 2017年1月3日19:54
1

我创建了这个函数来检查单词的大小写。你可以在文本区域中的每个单词上调用此选项。

功能检查大写{返回(s===s.charAt(0).toUpperCase()+s.slice(1).toLowerCase(;}支票资本化(“LoWeRcAsE”)

1

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

String.prototype.isCalelCase=函数(){for(var i=1;i<this.length;i++){if(this.charCodeAt(i)<97){返回true;}}返回false;} “Baz”.isCamelCase();//返回false“fOo”.isCamelCase();//返回true

您的答案

单击“发布您的答案”,表示您同意我们的服务条款并确认您已阅读我们的隐私政策.

不是你想要的答案吗?浏览标记的其他问题问你自己的问题.