如何在 javascript 中编写正则表达式,只允许用户写这个:
abc.def
,abc-def
或abc
所以基本上匹配一个只包含字母(只有小写[a-z])和.
或-
的模式。但是在字符串的开头或结尾或多次不匹配-
或.
(每个字符串只有一个.
或-
)
所以不允许他们这样做:
.....
abc...abc
abc.abc....
abc----....
...abc.abc
.abc
-abc
等。
答案 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。