Angularjs URL或IP地址的字段验证

Angularjs URL或IP地址的字段验证,angularjs,validation,Angularjs,Validation,目前,我找到了一个似乎可以做任何事情的正则表达式,并通过了对正则表达式101的一些测试。但是,相同的表达式在角度模式下不起作用: 这是一个表达: /^(http(s?):\/\/)?(((www\.)?+[a-zA-Z0-9\.\-\_]+(\.[a-zA-Z]{2,3})+)|((?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)))(\/[a-zA-Z0-9\_\-\

目前,我找到了一个似乎可以做任何事情的正则表达式,并通过了对正则表达式101的一些测试。但是,相同的表达式在角度模式下不起作用:

这是一个表达:

/^(http(s?):\/\/)?(((www\.)?+[a-zA-Z0-9\.\-\_]+(\.[a-zA-Z]{2,3})+)|((?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)))(\/[a-zA-Z0-9\_\-\s\.\/\?\%\#\&\=]*)$/?
.
这将产生以下错误:

Invalid regular expression: /^(http(s?)://)?(((www.)?+[a-zA-Z0-9.-_]+(.[a-zA-Z]{2,3})+)|((?:(?:25[0-5]|2[0-4][0-9]|[01]?[0…){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)))(/[a-zA-Z0-9_-s./?%#&=]*)?$/: Nothing to repeat
.

也许我太超前了,不需要正则表达式。有什么东西可以接受URL和IP地址吗?

看起来像\消失了,试着用这样的双反斜杠

^(http(s?):\\/\\/)?(((www\\.)?+[a-zA-Z0-9\\.\\-\\_]+(\\.[a-zA-Z]{2,3})+)|(\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b))(\\/[a-zA-Z0-9\\_\\-\\s\\.\\/\\?\\%\\#\\&\\=]*)?$
这是因为反斜杠在字符串中被解释为转义字符