Javascript 正则表达式字符串中只有一个点,不在开头或结尾
如何在javascript中编写一个只允许用户编写的正则表达式:Javascript 正则表达式字符串中只有一个点,不在开头或结尾,javascript,regex,Javascript,Regex,如何在javascript中编写一个只允许用户编写的正则表达式: abc.def,abc def或abc 所以基本上匹配一个只包含字母(只有小写字母[a-z])和a或-的模式。但不匹配字符串开头或结尾处的-或或多次(每个字符串只有一个或-) 所以不允许他们做: ..abc…abcabc.abc..abc.abc.abc-abc等正则表达式应该是:/^[a-z]+([\.\-]?[a-z]+)?$/ JavaScript: 查看并测试代码。是否允许点或连字符作为字符串的第一个字符?我忘了添加它。不
abc.def
,abc def
或abc
所以基本上匹配一个只包含字母(只有小写字母[a-z])和a
或-
的模式。但不匹配字符串开头或结尾处的-
或
或多次(每个字符串只有一个
或-
)
所以不允许他们做:
..
abc…abc
abc.abc..
abc.abc
.abc
-abc
等正则表达式应该是:/^[a-z]+([\.\-]?[a-z]+)?$/
JavaScript:
查看并测试代码。是否允许点或连字符作为字符串的第一个字符?我忘了添加它。不允许,字符串开头不允许有点或连字符。可能是-
/^[a-z]+(?:[-.]?[a-z]+)?$/
-这是您要找的吗?)所有字符串中的单个破折号或点。
var text = 'abc.def';
var pattern = /^[a-z]+([\.\-]?[a-z]+)?$/;
if (text.match(pattern)) {
print("YES!");
} else {
print("NO!");
}