正则表达式验证字符串中的多个文件名

时间:2012-10-27 21:34:53

标签: jquery regex

我需要正则表达式来验证字符串中的多个文件名。

例如:

a.html有效。
如果超过1个文件,则应为a.html;b.html
如果超过两个则应为a.html;b.html;c.html

错误的表达:

1)  a;b.html
2)  a.html;b
3)  a;b
4)  a.html;
5)  a.html;b;
6)  a.html;b.html;

如果字符串以;结尾,则应该有另一个有效的文件名(c.html)。

我的代码是:

regex": /^([a-zA-Z]:\\)?[^\x00-\x1F"<>\|:\*\?/]+\.[a-zA-Z]{3,4}$/,
alertText": "* Only (;) and (.) are Allowed

1 个答案:

答案 0 :(得分:0)

这是一个简短的解决方案

/^(?:[^\.;]+\.[^\.;]+)(?:;[^\.;]+\.[^\.;]+)*$/

一些解释: 第一部分(?:[^\.;]+\.[^\.;]+)将匹配单个文件名。文件名可以是不包含.;

的任何内容

除了前面的(?:;[^\.;]+\.[^\.;]+)*和尾随;之外,第一部分*与第一部分相同。这表示文件名,如第一部分,带有前导;。它将尽可能重复