2017-01-25 9 views
0

私のアプリケーションでは、自分のデータベースにイメージ名(そしてURLのみではない名前)を保存します。私はそのURLから名前を抽出します。データベースフィールドは、最大長40を持っているので、画像パターンは、このようないくつかのものでなければなりません:「」javascriptを使ってイメージ名を検証するための正規表現

LEETERS重要ではありません+ 「/」+ 36文字+ + "JPG/PNG/BMP/GIF"= 40

私は、パターンを作成し、テキストボックスにすることを使用:

<asp:TextBox ID="txtFirstSrc" runat="server" CssClass="firstImage imgUrl largeBox numberOrEnglish" 
         pattern="[A-Za-z0-9._/%:+-]+\/[A-Za-z0-9._/%+-]{0,36}\.+(jpg|png|gif|bmp|JPG|PNG|GIF|BMP)"></asp:TextBox> 

そして、それは正常に動作します。今私はJavaScriptでこれを使用したいが、このstirngのために:

2013-10-10T094007Z_1042484401_GM1E9AA1CN101_RTRMADP_3_THAILA ND.jpg

var isNameValid = "[A-Za-z0-9._/%:+-]+\/[A-Za-z0-9._/%+-]{0,36}\.+(jpg|png|gif|bmp|JPG|PNG|GIF|BMP)".test(file.name); 
は は

は機能せず、この1:

var isNameValid = /^[A-Za-z0-9._/%:+-]+\/[A-Za-z0-9._/%+-]{0,36}\.+(jpg|png|gif|bmp|JPG|PNG|GIF|BMP)$/.test(file.name); 

があります常に偽です。何が問題ですか?ありがとう。

+0

最後のパターンで '/'をエスケープしようとしましたか?テスト文字列とは何ですか? –

+0

テスト文字列は、そのURLから抽出された画像の名前です。 –

+0

file.nameには何がありますか?あなたは実際に何がfile.nameにあるのかを示す必要があります。 – Shiping

答えて

0

名前にスラッシュは含まれていませんが、正規表現には名前が必要です。

関連する問題