1

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

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到此为止

4

2 回答 2

1

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

于 2019-09-26T10:21:30.773 回答
1

你可以试试这个

^(?:(?:(?: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))
})

于 2019-09-26T10:37:20.913 回答