regex 使用正则表达式进行URL的Trix验证

vsnjm48y  于 2023-08-08  发布在  其他
关注(0)|答案(3)|浏览(97)

我正在尝试改变验证的模式以接受这些开始

https://
http://
https://www.
http://www. 
www.

字符串
这就是我现在所拥有的:

inputElement.pattern = '^(https:?//|http:?//|http:?//www|https:?//www|www).+$';


它接受错误的情况,如:

wwwsa.se
http://ww.


使用https://github.com/basecamp/trix/issues/624达到这一点

iaqfqrcu

iaqfqrcu1#

你可以试试这个

^(?:(?:(?:https?:\/\/)?w{3})(?:[.].*|)|(?:https?:?\/\/(?!w{1,2}\.).*))$

字符串


的数据
Regex Demo

const regex = /^(?:(?:(?:https?:\/\/)?w{3})(?:[.].*|)|(?:https?:?\/\/(?!w{1,2}\.).*))$/i;
const arr = ['https://','http://','https://www.','http://www.','www.','wwwsa.se','http://ww.','http://www.','ww.','www.','www//','www.g', 'http://wix']

arr.forEach(str => {
  console.log(str, '\t\t' ,regex.test(str))
})

5uzkadbs

5uzkadbs2#

你可能需要像^(http(s)?://)|(www\.)这样的东西

jtw3ybtb

jtw3ybtb3#

我是这么说的:

element.pattern = '^((\\/)|(https?:\\/\\/)|mailto:).*$'

字符串
它允许相对URL(以/开头)、以https://或http://开头的URL以及mailto链接

相关问题