正则表达式Javascript字母与点,不是在开始或结束

时间:2017-03-04 08:30:24

标签: javascript regex

Kia Ora, 我试图证明一个字符串是不是空的,并且使用的字符只是A-Za-z和点。 这不是很复杂,可以用这个来完成:

var str = "Aj.fwfw.MMf";
var regex = new RegExp("/^[a-zA-Z.]+$/");
if(str.match(regex)) { }

我的问题是,我不希望在开头,结尾或连续多个点都有点。 所以像“.fshdfhUUhd.d”,“jjf”这样的东西。并且禁止使用“fff..gg”。

有谁知道如何解决这个问题?我想把它放在一个正则表达式中,但如果这是不可能的,那么它也可以更多,与&&和在if闭包中。

1 个答案:

答案 0 :(得分:2)

使用

var regex = /^[a-zA-Z]+(?:\.[a-zA-Z]+)*$/;

请参阅regex demo

<强>详情:

  • ^ - 字符串开头
  • [a-zA-Z]+ - 一个或多个字母
  • (?:\.[a-zA-Z]+)* - 0+序列:
    • \. - 一个点
    • [a-zA-Z]+ - 一个或多个字母
  • $ - 字符串结束。