RegEx在字符串内只有一个点不在开头或结尾

geo*_*per 3 javascript regex

如何在javascript中编写正则表达式,只允许用户编写:

abc.def,abc-defabc

所以基本上匹配一个只包含字母的模式(只有小写[az])和一个.-.但不匹配-.在字符串的开头或结尾或多次(仅一个.-每个字符串)

所以容许他们这样做:

..... abc...abc abc.abc.... abc----.... ...abc.abc .abc -abc 等等

Ωme*_*ega 9

正则表达式将是: /^[a-z]+([\.\-]?[a-z]+)?$/

JavaScript的:

var text = 'abc.def';
var pattern = /^[a-z]+([\.\-]?[a-z]+)?$/;
if (text.match(pattern)) {
  print("YES!");
} else {
  print("NO!");
}
Run Code Online (Sandbox Code Playgroud)

这里查看并测试代码.