Javascript 正则表达式只允许有效句子,不允许所有数字、所有空格和所有特殊字符

Javascript 正则表达式只允许有效句子,不允许所有数字、所有空格和所有特殊字符,javascript,regex,Javascript,Regex,我试图写一个正则表达式来验证一个句子 有效个案: Can't approve this policy Premium should be greater than $2500 Annual income above €10.000,00 Invaid病例: @#$@#$@#$ 12312312312 <all spaces> @#$@#$@#$ 12312312312 我现在有 [A-Za-z0-9]所以您想要的是: 以大写字母开头:^匹配输入的开头,[a-Z]匹配大写字母

我试图写一个正则表达式来验证一个句子

有效个案:

Can't approve this policy
Premium should be greater than $2500
Annual income above €10.000,00
Invaid病例:

@#$@#$@#$
12312312312
<all spaces>
@#$@#$@#$
12312312312
我现在有
[A-Za-z0-9]

所以您想要的是:

  • 以大写字母开头:
    ^
    匹配输入的开头,
    [a-Z]
    匹配大写字母
  • 单词,一次或多次(由任何非空格字符自由定义):任何非空格字符一次或多次为
    [^]+
    ,由空格分隔的一个或多个字符为
    ([^]+)*([^]+)
  • 行尾:
    $

正则表达式:
/^[A-Z]([^]+)*([^]+)?$/

如果您的字符串应该以大写字符开头,并且可以在您可能使用的单词中包含任何非空白字符:

^[A-Z]\S*(?:\S+)*$

这将符合:

  • ^
    字符串的开头
  • [A-Z]
    匹配大写字符
  • \S*
    匹配0+次而不是空白字符
  • (?:\S+)*
    对匹配空格的非捕获组重复0多次,对非空白字符重复1多次
  • ^
    字符串的结尾

正是我想要的!你能为读者和我把它分解一下吗?