1

我想覆盖由 Foundation(zurb) 提供的密码模式,但它没有识别我覆盖的正则表达式并根据其默认表达式生成错误。默认情况下,基金会提供的密码验证是“必须至少有 8 个字符,包括 1 个大写字母、1 个数字和 1 个特殊字符”。为此,我使用了以下内容:

1)

<head>
<script>
$(document)
  .foundation()
  .foundation('abide', {
    patterns: {
      new: ^[a-zA-Z]\w{3,14}$,
       }
  });
 </script></head>
<body>
<form class="custom" data-abide>
<div class="row">
    <div class="large-12 columns">
        <label>Password <small>required</small></label>
            <input type="password" pattern="new" required >
                <small class="error" data-error-message="">validation error.</small>
    </div>
</div>

</form>
</body>

2)

<form class="custom" data-abide="">
</form>

3)输入标签中直接使用的模式:

<input type="password" pattern="^[a-zA-Z]\w{3,14}$" required >

但所有这些都不起作用。请建议我解决我的问题。

您可以在此处找到示例程序

4

2 回答 2

11

在运行基础之前更新值:

<script>
Foundation.libs.abide.settings.patterns.password = /^\w{3,14}$/;
$(document).foundation();
</script>
于 2013-12-02T11:18:43.540 回答
3

替换调用password的模式就可以了。改变

<script>
  $(document).foundation();
</script>

index.html在以下代码的底部:

<script>
  $(document)
    .foundation()
    .foundation('abide', {
      patterns: {
        password: /^\w{3,14}$/,
      }
    });
</script>

请注意,您提供的正则表达式 ( ^[a-zA-Z]\w{3,14}$) 应该用/^[a-zA-Z]\w{3,14}$/JavaScript 编写。

于 2013-09-12T19:48:46.017 回答