Parsely.js中的模式不起作用

时间:2015-10-16 02:15:29

标签: php regex parsley.js

我试图为我的学校ID字段创建一个模式(例如,12-027-091)

这是我的代码

<input type="text" class="form-control" name="inputSchoolID" placeholder="School ID" 
  value="'. set_value('inputSchoolID') .'" 
  data-parsley-pattern="^[0-9]{2}[ -]?[0-9]{3}[ -]?[0-9]{3}$" 
  minlength="10" maxlength="10" 
required/>

但是这确实没有做任何事情(在正确验证其他输入的情况下,根本不进行验证)。我是否必须添加数据 - parsley-required =&#34; true&#34;? (我做了,但没有帮助)。我用https://www.debuggex.com/测试了正则表达式,所以它不应该是一个错字。我错过了什么?

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

pattern="^[0-9]{2}[ -]?[0-9]{3}[ -]?[0-9]{3}$"

似乎有效而不是

data-parsley-pattern="^[0-9]{2}[ -]?[0-9]{3}[ -]?[0-9]{3}$"

我甚至不知道为什么,但它解决了我的问题。

答案 1 :(得分:0)

你应该使用

             pattern="[0-9]{2}[ -]?[0-9]{3}[ -]?[0-9]{3}"
data-parsley-pattern="[0-9]{2}[ -]?[0-9]{3}[ -]?[0-9]{3}"

在上一个版本中,这些内容将被锚定,因此$^无效。

或者使用完整的正则表达式:

data-parsley-pattern="/^[0-9]{2}[ -]?[0-9]{3}[ -]?[0-9]{3}$/"

请参阅this issue