Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.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格式,使用String.match()方法 例如: Desktop-123\john123 Desktop123\john1 Desktop123\john Desktop-123\john 正则表达式: /^[a-zA-Z0-9-]+\[a-zA-Z0-9]$/ 如果域名

我正试图为下面的模式编写正则表达式,但我的方法不正确。你能帮帮我吗?基本上,该模式类似于域\用户名。域应该接受字母数字加-作为特殊字符,用户名应该只有字母数字字符。域模式之后应该有\个。正则表达式应该是JavaScript格式,使用String.match()方法

例如:

Desktop-123\john123
Desktop123\john1
Desktop123\john
Desktop-123\john
正则表达式:

/^[a-zA-Z0-9-]+\[a-zA-Z0-9]$/

如果域名不能仅由
-
组成,您可以首先匹配1+字母数字字符,然后可选地重复
-
和1+字母数字字符

注意重复字符类1次或多次,否则将匹配单个字符

^[a-zA-Z0-9]+(?:-[a-zA-Z0-9]+)*\\[a-zA-Z0-9]+$
  • ^
    字符串的开头
  • [a-zA-Z0-9]+
    匹配字符类中列出的任意字符的1+倍
  • (?:-[a-zA-Z0-9]+)*
    可以选择重复
    -
    和字符类中列出的任何字符
  • \[a-zA-Z0-9]+
    匹配a
    \
    并再次匹配字符类中列出的任意字符的1+倍
  • $
    字符串结尾

@srivastavab请同时添加您期望的输出,并确认我犯了一个错误,我需要在末尾包含两个\和+,以允许一个或多个字符/^[-a-zA-Z0-9]+\[a-zA-Z0-9]+$/