首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >givenname.lastname@containsstring.domain的HTML5输入模式

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

Stack Overflow用户
提问于 2018-06-08 03:11:05
回答 1查看 69关注 0票数 1

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

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

代码语言:javascript
复制
givenname.lastname@simonsays.domain

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

到目前为止我发现

代码语言:javascript
复制
pattern=".*simon.+" 

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

如果您能帮忙,我们将不胜感激!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-08 03:42:17

您可以使用

代码语言:javascript
复制
pattern="\S+\.\S+@\S*simon\S*\.\S+"

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

  • ^ - start of string
  • (?: -非捕获容器的开始group
  • \S+\.\S+ - 1+非空格字符,whitespace
  • @ -a end char
  • \S* - end非空格chars
  • simon -a字面substring
  • \S* - chars
  • \.非空格dot
  • \S+ -a chars
  • ) - 0+非空格chars
  • \.-a dot
  • \S+- 1+非空格chars
  • )-容器末尾group
  • $ - 0+ of 1+。

HTML5:

代码语言:javascript
复制
input:valid {
  color: black;
}
input:invalid {
  color: red;
}
代码语言:javascript
复制
<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>

如果您想“控制”模式中的点,可以用除了空格和.之外的任何字符匹配的[^\s.]替换\S

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50748623

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档