HTML模式 - 正则表达式无法正常工作

时间:2013-05-14 12:04:11

标签: regex html5

我第一次尝试使用pattern属性,但是我无法使用它(我的浏览器确实支持它)。

现在我有:

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

第一个问题是,如果它是空白的,则不通知我;第二个问题是,如果我输入某些内容,它就不会接受它。我希望它接受字母数字字符,长度恰好是6个字符。我尝试使用正斜杠和其他一些变化。

4 个答案:

答案 0 :(得分:10)

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

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

当字段为空时,required属性会导致验证失败 当字段不为空时,pattern属性定义要测试的正则表达式 (你的初始模式似乎工作正常。)

可以找到更多信息 here 这很简单,不需要演示,但你可以找到一个 here

答案 1 :(得分:2)

在这里为我工作:http://jsfiddle.net/barbuslex/nR6yg/

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

我使用谷歌浏览器

答案 2 :(得分: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>

输入无效的国家/地区代码,然后点击提交按钮然后你可以收到一条消息(title =“三个字母的国家代码”)

答案 3 :(得分:0)

您只需要在标记中添加必需的属性,如果用户尝试发送包含该字段空白的表单,则会通知用户。

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