givenname.lastname@containsstring.domain的HTML5输入模式

时间:2018-06-07 19:11:05

标签: regex html5

我试图通过HTML5模式验证电子邮件输入。

输入字段必须遵循以下格式:

givenname.lastname@simonsays.domain

换句话说,我需要检查是否有一串字母+一个点+另一串字母+必须包含字符串simon

到目前为止,我已找到

pattern=".*simon.+" 

但是,它仅检查输入是否包含simon

帮助将受到高度赞赏!

1 个答案:

答案 0 :(得分:1)

您可以使用

pattern="\S+\.\S+@\S*simon\S*\.\S+"

模式被解析为/^(?:\S+\.\S+@\S*simon\S*\.\S+)$/并匹配

  • ^ - 字符串开头
  • (?: - 启动非捕获容器组
  • \S+\.\S+ - 1个非空白字符,.和除空格以外的1个字符
  • @ - @字符
  • \S* - 0+非空白字符
  • simon - 文字子字符串
  • \S* - 0+非空白字符
  • \. - 一个点
  • \S+ - 1 +非空白字符
  • ) - 容器组的结尾
  • $ - 字符串结束。

HTML5:



input:valid {
  color: black;
}
input:invalid {
  color: red;
}

<form name="form1"> 
 <input pattern="\S+\.\S+@\S*simon\S*\.\S+" title="Please enter an email address with 'simon' in the domain name!" placeholder="name.surname@domain.com" value="my.name@some-simon-here.com" />
 <input type="Submit"/> 
</form>
&#13;
&#13;
&#13;

如果你想&#34;控制&#34;模式中的点,将\S替换为[^\s.],其匹配任何字符,但空格和.