2013-05-14 29 views
5

我第一次尝试模式属性,我无法得到它的工作(虽然我的浏览器不支持它)。HTML模式 - 正则表达式不工作

现在我有:

input type="text" pattern="[a-zA-Z0-9]{6}" name="formName" 

的第一个问题是,是,如果它是空白不通知我。第二个问题是如果我输入了某些东西,它就不会接受它。我希望它接受字母数字字符,长度恰好为6个字符。我尝试了正斜线和其他一些变化。

+2

请提供匹配和不匹配的输入示例。 – sp00m 2013-05-14 12:08:51

+0

您可以使用: 所需= “需要” [正则表达式的信息] [1] [1]:http://stackoverflow.com/a/16453203/1063823 – Duikboot 2013-05-14 12:10:52

+0

对于目前什么存在,没有任何工作,除了空(我发现)。应该工作:FRA4H6,FRATHJ,006311. – 2013-05-14 12:11:01

回答

2

工作对我来说在这里:http://jsfiddle.net/barbuslex/nR6yg/

<form> 
    <input type="text" pattern="[a-zA-Z0-9]{6}" name="formName" /> 
    <input type="submit" value="OK" /> 
</form> 

我使用谷歌浏览器

+0

这并没有解决OP的第一个问题“第一个问题是,如果它是空白的,它不会通知我”。 – gkalpak 2013-05-14 12:22:23

+2

使用最新版本的Chrome,这根本行不通。这是否被弃用? – iGanja 2015-10-02 06:11:23

+1

它不会阻止输入错误的数据,但会阻止提交表单。 – 2016-12-09 01:20:30

6

正如Duikboot已经指出,这样做的正确方法是:

<input type="text" name="formField" pattern="[a-zA-Z0-9]{6}" required> 

required属性的原因当字段为空时验证失败。
pattern属性定义了要测试的正则表达式,当字段不为空时。
(你最初的模式似乎很好地工作。)

更多信息,可以发现here
这很简单,以至于不需要演示,但是您可以找到一个here

+4

@downvoter:考虑留下评论,并帮助改进答案:) – gkalpak 2013-05-14 12:42:36

+1

嘿,这对我不起作用...''输入类型=“文本”名称=“卡号”模式=“[0-9] {16, 16}” ID = “crdNo” 值= “<?PHP的echo $ _POST [ 'CARD_NUMBER'];>需要/>' – 2016-11-07 15:10:31

+0

@MartinBarker”,它为我... – gkalpak 2016-11-07 16:50:41

0

试试这个代码的工作完全

<html> 
<body>  
<form action="demo_form.asp"> 
    Country code: <input type="text" name="country_code" pattern="[A-Za-z]{3}" title="Three letter country code"> 
    <input type="submit"> 
</form>  
</body> 
</html> 

输入无效的国家代码,然后点击提交按钮。然后您可以收到一条消息(标题=“三字母国家代码”)

+2

HTTP://www.w3schools。 com/tags/att_input_pattern.asp我认识到HTML:P – McBurgerKong 2016-01-26 14:34:49

0

您只需将所需的属性添加到您的标记,它将通知用户,如果他们试图发送窗体与非常字段空白。

<input type="text" pattern="[a-zA-z0-9]{6}" name="formName" required>