我试图通过HTML5模式验证电子邮件输入。
输入字段必须遵循以下格式:
givenname.lastname@simonsays.domain
换句话说,我需要检查是否有一串字母+一个点+另一串字母+必须包含字符串simon
。
到目前为止,我已找到
pattern=".*simon.+"
但是,它仅检查输入是否包含simon
。
帮助将受到高度赞赏!
答案 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;
如果你想&#34;控制&#34;模式中的点,将\S
替换为[^\s.]
,其匹配任何字符,但空格和.
。