HTML5のpattern で 半角数字桁数指定が効かない

 

HTML5のpattern で 半角数字桁数指定が効かない。

<input type=”text” name=”sample” pattern=”\d{2}”>

な感じの書き方がどうしても効果がない。
3日ほど悶えてわかったのが、smartyのテンプレートファイルの中で”{“を使いたいときは{literal}{/literal}で囲まないと、実行時に消されてしまう。

実行時にソースを見ると
<input type=”text” name=”sample” pattern=”\d2″>
こうなっているのに気が付いた。

{literal}
<input type=”text” name=”sample” pattern=”\d{2}”>
{/literal}
と書かないとダメっぽい。