一个RegEx,用于验证以小写字母开头的字符串,没有特殊字符,并且有一个大写字母

时间:2014-02-04 22:17:54

标签: javascript regex

基本上,我需要一个能确保字符串的Javascript RegEx:

  • 以小写字母开头
  • 其中只有一个不在开头的大写字母
  • 没有非字母数字字符

它可以有数字,但它们不能在开头。有人可以帮我吗?

2 个答案:

答案 0 :(得分:0)

这样的事情应该有效

/^[a-z][a-z0-9]*[A-Z][a-z0-9]*$/

匹配一个字符串,该字符串以小写拉丁字母开头,后跟零个或多个小写拉丁字母或十进制数字,后跟单个大写拉丁字母,后跟零个或多个小写拉丁字母或十进制数字。开始(^)和结束($)锚点确保字符串中不允许其他字符。

如果你的意思是它必须完全一个大写字母,这将有效。如果您的意思是它最多只能 一个大写字母,那么只需使用? quantfer:

/^[a-z][a-z0-9]*[A-Z]?[a-z0-9]*$/

答案 1 :(得分:0)

^[a-z][a-z0-9]*(?:[A-Z][a-z0-9]*)?$

这不会施加任何长度限制,并且会匹配单个小写字符(您没有指定长度限制,所以我认为没关系);大写字符不是必需的,但可以通过删除末尾的?来实现。