【发布时间】:2015-06-08 06:57:12
【问题描述】:
我需要一个用于名的 JavaScript 正则表达式,并满足以下要求:
- 没有数字且以下字符无效:
~`?(!^*¨ˆ;@=$%{}[]|\/<>#“., - 不应超过 3 个字
- 前面或后面没有空格
- 至少 2 个字符
我用两个独立的正则表达式做到了: 第一个是:对于没有数字和无效字符:
^[A-Za-z][^\d~`?!^*¨ˆ;@=$%{}\[\]\|\\\/<>#“.,]*$
第二个不超过3个字:
^[A-Za-z]+( [A-Za-z]+){0,2}$
我需要一个正则表达式来处理上述所有 4 个条件(或至少 3 个,因为我们可以为第 4 个条件设置最小长度条件)。
【问题讨论】:
-
那么,name 是否只包含字母?请提供所有允许的字符列表
-
^[A-Z]([A-Za-z])+(\s[A-Za-z]{2,}){0,2}$还不够吗? -
@Amit 我认为至少 2 个字符是总数,而不是每个单词...
-
@Mahesh:请提供样本有效和无效输入。
-
是的,总共至少 2 个字符。
标签: javascript regex