验证网址但不允许使用https://或http://的网址

时间:2017-11-29 11:44:38

标签: regex

我需要找到一个可以验证网址的正则表达式,但不使用http://或https://即网址不应该由https://或http://组成,因为我会将其附加到我的网址中代码。

示例:

message.click=Click
message.here=here

<sapn th:text="#{message.click}"/> <a th:href="@{/here}" th:text="#{message.here}"></a>

我希望仅将字符串匹配为有效网址,而不应允许http://和https://。

www.google.com (valid)
https://www.google.com (invalid)
http://www.google.com  (invalid)
master.sh (valid)
://master.sh (invalid)
jag.abcs.abcs (valid) // Edit

2 个答案:

答案 0 :(得分:0)

console.log(/^([a-z]*.?[a-z]*.[a-z]*)$/.test('www.google.com'));
console.log(/^([a-z]*.?[a-z]*.[a-z]*)$/.test('http://www.google.com'));
console.log(/^([a-z]*.?[a-z]*.[a-z]*)$/.test('master.sh'));
console.log(/^([a-z]*.?[a-z]*.[a-z]*)$/.test('://master.sh'));

答案 1 :(得分:0)

  

^([A-Z0-9 - ]。+ \)*([A-Z0-9] +)(\ [A-Z] +){1,3} $

是你想要的。

https://regex101.com/r/CNcn11/1

<强>测试

<form method="post" action="/" onsubmit="return false;">
  http://<input type="text" required pattern="^([a-z0-9-]+\.)*([a-z0-9]+)(\.[a-z]+){1,3}$">
  <input type="submit" value="Submit">
  <br><b>Note:</b> If you don't see a validation error, it passes.
</form>