Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.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,对于我的正则表达式: ^(http(s)?\://)?(([a-zA-Z]{1})|([a-zA-Z]{1}[a-zA-Z]{1})|([a-zA-Z]{1}[0-9]{1})|([0-9]{1}[a-zA-Z]{1})|([a-zA-Z0-9][a-zA-Z0-9-_]{1,61}[a-zA-Z0-9]))\.([a-zA-Z]{2,6}|[a-zA-Z0-9-]{2,30}\.[a-zA-Z]{2,3})$ 我想知道约翰为什么会通过?这个正则表达式应该只传递URL > var j =

对于我的正则表达式:

^(http(s)?\://)?(([a-zA-Z]{1})|([a-zA-Z]{1}[a-zA-Z]{1})|([a-zA-Z]{1}[0-9]{1})|([0-9]{1}[a-zA-Z]{1})|([a-zA-Z0-9][a-zA-Z0-9-_]{1,61}[a-zA-Z0-9]))\.([a-zA-Z]{2,6}|[a-zA-Z0-9-]{2,30}\.[a-zA-Z]{2,3})$
我想知道约翰为什么会通过?这个正则表达式应该只传递URL

> var j = new RegExp("^(http(s)?\://)?(([a-zA-Z]{1})|([a-zA-Z]{1}[a-zA-Z]{1})|([a-zA-Z]{1}[0-9]{1})|([0-9]{1}[a-zA-Z]{1})|([a-zA-Z0-9][a-zA-Z0-9-_]{1,61}[a-zA-Z0-9]))\.([a-zA-Z]{2,6}|[a-zA-Z0-9-]{2,30}\.[a-zA-Z]{2,3})$");
> j.test("john")
> true

有一个必需的\。在正则表达式行中,您通过向RegExp构造函数传递字符串来构造正则表达式

虽然\在正则表达式中作为转义字符具有特殊含义,但在字符串文字中也具有类似含义

字符串文字中的\\已解析为字符串中的\,因此在正则表达式中被视为转义字符

您需要提供转义\和转义转义字符

因此,对于匹配单个\的正则表达式,您需要:

var myRegEx = new RegExp("\\\\")
我建议避免使用构造函数,而是使用正则表达式文本

var myRegEx = /\\/;