Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 正则表达式字符串中只有一个点,不在开头或结尾_Javascript_Regex - Fatal编程技术网

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: 查看并测试代码。是否允许点或连字符作为字符串的第一个字符?我忘了添加它。不

如何在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!");
}