-2

我想为 javascript 创建正则表达式来测试包含诸如 MCA 或 ACA 等单词的字符串。当输入这些单词(如 MCA、USD 等)时,Regex 应该返回 true。当在文本框中输入字符串时,Regex 应该返回 false

 .M.C.A
 ..MM
 M..........A
 M.C.A..

我可以输入任何带点或不带点的单词,但不想在文本框中输入字符串 1:以点开头 2:每个字母之间包含多个点 3:不包含任何数字 4:仅以字母开头

4

1 回答 1

0

由于您的问题不太清楚,所以我假设您正在尝试验证首字母缩略词。以下正则表达式之一应该可以满足您的要求。

要只允许一个字母后跟一个点(即 , M.C.A., U.S.D.A.C.A.,请使用以下命令:

r = /^([A-Z][.])*$/gi;

要只允许字母后跟其他字母(即 , MCA, USDACA,请使用以下命令:

r = /^([A-Z])*$/gi;

要允许一个字母后跟一个点,或者只允许一个字母后跟其他字母,请使用以下命令:

r = /^([A-Z])*$|^([A-Z][.])*$/gi;

如果您希望字母可选地或任意地用点分隔,您需要这样:

r = /^([A-Z][.]?)*$/gi;

有效输入示例:

  • MCA
  • M.CA
  • MC.A
  • MCA.
  • M.C.A
  • MC.A.
  • M.C.A.

如果您只需要测试、、 和的组合M,则将上述正则表达式中的范围从调整为仅允许您关心的字母。CA.A-Z

我设置了一个小提琴来玩,并确保你的具体情况得到处理:http: //jsfiddle.net/eXStp/

于 2012-12-03T02:16:24.837 回答