用于在javascript中验证图像名称的正则表达式

用于在javascript中验证图像名称的正则表达式,javascript,regex,Javascript,Regex,在我的应用程序中,我在数据库中保存图像名称(仅名称而非url)。我从他们的url中提取名称。数据库字段的最大长度为40。所以图像模式必须是这样的: LEETERS不重要+“/”+36个字母+“+”jpg/png/bmp/gif“=40 我创建了一个模式并将其用于文本框: <asp:TextBox ID="txtFirstSrc" runat="server" CssClass="firstImage imgUrl largeBox numberOrEnglish"

在我的应用程序中,我在数据库中保存图像名称(仅名称而非url)。我从他们的url中提取名称。数据库字段的最大长度为40。所以图像模式必须是这样的:

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>
不起作用,这个:

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

这总是错误的。有什么问题?谢谢。

名称中没有斜杠,但您的正则表达式需要斜杠。

是否尝试在上一个模式中转义
/
?什么是测试字符串?测试字符串是从其url提取的图像的名称。file.name中有什么?您需要显示文件.name.2013-10-10T094007Z_1042484401_GM1E9AA1CN101_RTRMADP_3_泰国中的实际内容。jpg@FarzinKanzi好的,我把答案贴出来了,这样你就可以关闭它了。你问为什么有人否决了你的问题,我想是因为你没有提供足够的信息让人们看到问题所在。正如您现在所知道的,如果不查看文件名中的内容,就很难看到问题所在。当您调试这样的问题时,首先应该检查字符串中的实际内容。
var isNameValid = /^[A-Za-z0-9._/%:+-]+\/[A-Za-z0-9._/%+-]{0,36}\.+(jpg|png|gif|bmp|JPG|PNG|GIF|BMP)$/.test(file.name);