Трикс проверка URL с помощью регулярных выражений - PullRequest
1 голос
/ 26 сентября 2019

Я пытаюсь изменить шаблон проверки, чтобы принять эти запуски

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

Ответы [ 2 ]

1 голос
/ 26 сентября 2019

Вы можете попробовать это

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

enter image description here

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))
})
1 голос
/ 26 сентября 2019

Возможно, вам нужно что-то вроде ^(http(s)?://)|(www\.)

...