17

如何通过使用“if”语句确定字符串是否以小写字母开头?

1

3个答案

重置为默认值
31

如果您想覆盖a-z以上的内容,可以使用以下内容:

var first=字符串.charAt(0);if(first===first.toLowerCase()&&first!==first.to UpperCase()){//第一个字符是小写字母}

这两种检查都是必需的,因为存在既不是大写也不是小写的字符(例如数字)。例如:

“1”===“1”.toLowerCase()//=>真“1”===“1”.toLowerCase()&&“1”!==“1”.toUpperCase()//=>真&&false=>假“e”===“e”.toLowerCase()&&“e”!==“é”.toUpperCase()//=>true&&true=>true
11
  • 2
    在什么情况下您需要小写检查?例如,其中!= 将字符串转换成大写还不够吗? 评论 2010年9月28日20:57
  • 4
    我强烈建议您使用===!==以避免类型强制错误。这是一个很难养成的习惯,但我认为这非常有益。 评论 2010年9月28日22:11
  • @当我在需要离开之前发帖时,就会出现混乱。已更正! 评论 2010年9月28日22:51
  • @T。我不确定是否有一个字符与character.toUpperCase()不等价,所以我使用了这两个条件,但你说得很好。 评论 2010年9月28日22:53
  • 1
    在这个特定的例子中,我看不到潜在的类型强制问题,因为字符位于,小写将字符串转换成大写方法保证始终返回字符串值。。。 评论 2010年9月29日1:02
5

似乎如果一个字符不等于它的大写状态,那么它就是小写。

var first=字符串.charAt(0);if(first!=first.toUpperCase()){第一个字符是小写}
-1

这似乎是正则表达式的适当用法。

var match=myString.match(/^[a-z]/);if(match!=null){//很匹配}
2
  • 2
    这是一种以英国为中心的观点。“a”不是小写吗? 评论 2010年9月28日21:06
  • 你说得对,我想这对那件案子会管用的。它不适合国际使用。我投票给丹尼尔的答案,因为它比我的更有用。
    – 林肯
    评论 2010年9月28日21:18

您的答案

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

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