2011-07-11 11 views
0

JavaScriptで検証する必要があります。この形式のテキストボックス:99/99999999/99 問題を解決する関数を実行しました。しかし、私はRegexを使って改良したいと思いますが、私はregexで新しいです。何か提案してください? regex javascript pattern

この

は私が前に集約した方法です:私はonBlurイベントではJavaScriptを使用して検証する必要が

<asp:RegularExpressionValidator ID="RevNass" runat="server" 
ErrorMessage="NASS inválido. Formato correcto: ##/########/##" Display="None" 
ValidationExpression="^\d{2}/\d{8}/\d{2}$" 
ControlToValidate="TextBox1" meta:resourceKey="RevNass"/> 

<asp:ValidatorCalloutExtender ID="RevNass_ValidatorCalloutExtender" 
runat="server" Enabled="True" TargetControlID="RevNass"> 
</asp:ValidatorCalloutExtender> 

しかし、私はこのパターンを「変換する方法がわからない^ \ d {2}/\ d {8}/\ d {2} $ "をjavascriptのパターンに追加します。私は申し訳ありませんが、これは緊急ではないヒューのチュートリアルを読んで、後で私はします。

+0

をスラッシュはい、http://www.regular-expressions.info/を見ています。このパターンと一致する式は難しくありません。基礎を読んだ後で作成することができます。 –

答えて

2

/^[0-9]{2}\/[0-9]{8}\/[0-9]{2}$/は、あなたのパターンにマッチする正規表現です(9は任意の数字にすることができます)。

/^\d{2}\/\d{8}\/\d{2}$/でも、私は通常、正規表現のクイックルックで何をしているのかすぐに分かるので、[0-9]と書くことをお勧めします。

+2

'abc99/99999999/99def'と一致しない限り、正規表現をアンカーする必要があります – Toto

+0

完了、完全に忘れました; – ThiefMaster

+0

ありがとう!!私は最後にこれを行う:function myFuncion(tb){ var re = new RegExp(/^\ d {2} \/\ d {8} \/\ d {2} $ /); if(tb.value.match(re)){ tb.style.border = "1px solid #cccccc"; } else { tb.style.border = "1px solid red"; tb.title = "NASSinválido"; } } – ramo2712

0

それは実質的に同じだ、あなただけ前方に正規表現を囲む必要があり

/^\d{2}\/\d{8}\/\d{2}$/

+0

はいこれが問題です。ありがとうございます – ramo2712