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

时间:2012-06-24 22:51:48

标签: javascript regex

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

abc.defabc-defabc

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

所以允许他们这样做:

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

1 个答案:

答案 0 :(得分: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!");
}

查看并测试代码here