2014-02-17 19 views
1

我试图在基金使用自定义模式5. 这里是我的代码 创建和使用自定义图案基金会5

<head> 
    <meta charset="utf-8"> 
    <script src="js/vendor/modernizr.js"></script> 
</head> 
<body> 
     <form name="input" action="validate.php" method="post" data-abide> 
         <fieldset> 
          <legend>Todos os campos são necessários</legend> 
          <div class="row"> 
           <div class="small-3 columns"> 
            <label for="right-label" class="right inline">Dogecoin Adress</label> 
           </div> 
           <div class="small-9 columns"> 
            <input name="wallet" type="text" pattern="wallet" class="small-12 columns" required /> 
            <small class="error">Invalid Adress</small> 
           </div> 
          </div> 
         </fieldset> 
        </form> 

    <script src="js/vendor/jquery.js"></script> 
<script src="js/foundation.min.js"></script> 
<script src="js/foundation/foundation.abide.js"></script> 
    <script> 
     $(document).foundation(
     { 
      abide:{ 
       patterns:{ 
        wallet: /^D[A-Za-z0-9]{33}$/ 
       } 
      } 
     } 
     ); 
    </script> 
</body> 

为什么当我介绍一个有效的ADRESS (例如:DRzKV3Vr235MTuGuVZ4eHjZfmy4TsymDX4)它仍然说我有一个无效的地址?

回答

0

我做了以下修改:

  1. 我确信设置为text/JavaScript的(某些浏览器可能需要这个)类型。
  2. 我在正则表达式模式中的第一个D字符后面添加了{1}。
  3. 使用更新后的正则表达式应确保所有地址字符对Base58地址有效。

编辑:固定的HTML显示

<head> 
<meta charset="utf-8"> 
<script type="text/javascript" src="js/vendor/modernizr.js"></script> 
</head> 
<body> 
     <form name="input" action="validate.php" method="post" data-abide> 
         <fieldset> 
          <legend>Todos os campos são necessários</legend> 
          <div class="row"> 
           <div class="small-3 columns"> 
            <label for="right-label" class="right inline">Dogecoin Adress</label> 
           </div> 
           <div class="small-9 columns"> 
            <input name="wallet" type="text" pattern="wallet" class="small-12 columns" required /> 
            <small class="error">Invalid Adress</small> 
           </div> 
          </div> 
         </fieldset> 
        </form> 

    <script type="text/javascript" src="js/vendor/jquery.js"></script> 
    <script type="text/javascript" src="js/foundation.min.js"></script> 
    <script type="text/javascript" src="js/foundation/foundation.abide.js"></script> 
    <script type="text/javascript"> 
     $(document).foundation(
     { 
      abide:{ 
       patterns:{ 
        wallet: /^D{1}[5-9A-HJ-NP-U]{1}[1-9A-HJ-NP-Za-km-z]{32}$/ 
       } 
      } 
     } 
     ); 
    </script> 
</body> 

或者你也可以使用jQuery的扩展方法设置模式试试下面的办法:

<head> 
<meta charset="utf-8"> 
<script type="text/javascript" src="js/vendor/modernizr.js"></script> 
</head> 
<body> 
     <form name="input" action="validate.php" method="post" data-abide> 
         <fieldset> 
          <legend>Todos os campos são necessários</legend> 
          <div class="row"> 
           <div class="small-3 columns"> 
            <label for="right-label" class="right inline">Dogecoin Adress</label> 
           </div> 
           <div class="small-9 columns"> 
            <input name="wallet" type="text" pattern="wallet" class="small-12 columns" required /> 
            <small class="error">Invalid Adress</small> 
           </div> 
          </div> 
         </fieldset> 
        </form> 

    <script type="text/javascript" src="js/vendor/jquery.js"></script> 
    <script type="text/javascript" src="js/foundation.min.js"></script> 
    <script type="text/javascript" src="js/foundation/foundation.abide.js"></script> 
    <script type="text/javascript"> 
     jQuery.extend(window.Foundation.libs.abide.settings.patterns, { 
      wallet: /^D{1}[5-9A-HJ-NP-U]{1}[1-9A-HJ-NP-Za-km-z]{32}$/ 
     }); 
    </script> 
</body> 
+0

试过了还是不工作,我认为其有关基金会5,而不是正则表达式。[打印屏幕](http://i.imgur.com/ek0op4f.png)。 –

+0

我编辑了答案,通过jQuery.extend包含可能的解决方法。请参阅以下内容以供参考:https://github.com/zurb/foundation/issues/3798 – MeyerRJ

+0

我应该同时使用它们吗? sinse $(document).foundation();总是需要存在 –