HTML表单模式中的工作正则表达式失败

时间:2019-02-26 19:25:28

标签: javascript html regex

这里是Web开发的新手。

我在这里构建了一个正则表达式:

https://regex101.com/r/p3Pyqp/4

与任何以字母开头,包含@符号的字符串匹配,并且不包含多个连续的点或破折号,如@符号两侧的“ ..”或“-”。鉴于上面链接中的条目,这更有意义。

但是,当我在HTML中将此正则表达式用作表单提交中的模式时,它会传递所有被regex101视为无效的输入:

function checkValid() {
  let form = document.getElementById("addform");
  let result = document.getElementById("result");
  
  if (form.checkValidity()) {
    result.textContent = "Input is valid."
  }
  
  return false;
}
<form id="addform" onsubmit="return checkValid()">
  <label>Entry (submit with enter): </label>
  <input type="text" value="a..-.@test.test" pattern="[A-Za-z](?!.*(\.{2,}|\-{2,})).*@((?!.*(\.{2,}|\-{2,})).+)" />
</form>
<p id="result"></p>

有什么主意我想念的吗?谢谢!

0 个答案:

没有答案