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 URL正则表达式改进以允许本地主机URL_Javascript_Regex_Url - Fatal编程技术网

Javascript URL正则表达式改进以允许本地主机URL

Javascript URL正则表达式改进以允许本地主机URL,javascript,regex,url,Javascript,Regex,Url,我有一个URL验证程序,如下所示 (^|\s)((https?:\/\/)?[\w-]+(\.[\w-]+)+\.?(:\d+)?(\/\S*)?) 这似乎涵盖了大多数基础,但它不能,这是允许本地主机url的 我想允许 http://localhost:8080 或 但我不想允许像这样的简单字符串 http://google 或 您可以使用此正则表达式允许localhost作为有效主机名: (?:^|\s)((https?:\/\/)?(?:localhost|[\w-]+(?:\.[\w

我有一个URL验证程序,如下所示

(^|\s)((https?:\/\/)?[\w-]+(\.[\w-]+)+\.?(:\d+)?(\/\S*)?)
这似乎涵盖了大多数基础,但它不能,这是允许本地主机url的

我想允许

http://localhost:8080

但我不想允许像这样的简单字符串

http://google


您可以使用此正则表达式允许
localhost
作为有效主机名:

(?:^|\s)((https?:\/\/)?(?:localhost|[\w-]+(?:\.[\w-]+)+)(:\d+)?(\/\S*)?)

您可以使用此正则表达式允许
localhost
作为有效主机名:

(?:^|\s)((https?:\/\/)?(?:localhost|[\w-]+(?:\.[\w-]+)+)(:\d+)?(\/\S*)?)

是的,问题是它现在允许任何单个字符串,即“google”,但我想我只希望它是可选的,如果第一个字符串是带有端口的localhost,即localhost:8080是的,问题是它现在允许任何单个字符串,即“google”但是我想我只希望它是可选的,如果第一个字符串是localhost,端口是localhost:8080
(?:^|\s)((https?:\/\/)?(?:localhost|[\w-]+(?:\.[\w-]+)+)(:\d+)?(\/\S*)?)