【问题标题】:Regular Expression Local Path File Validation正则表达式本地路径文件验证
【发布时间】:2015-08-28 07:41:25
【问题描述】:
以下正则表达式用于验证本地驱动器路径。
(^(?:[a-zA-Z]:|(\\\\|\/\/)[\w\.]+(\\|\/)[\w.$]+)((\\|\/)|(\\\\|\/\/))(?:[\w ]+(\\|\/))*\w([\w. ])+$)
http://regexr.com/3bm2i
问题在于它允许以下操作:
Z:\daily\Test
Z:\daily\Test.d ocx
正则表达式应该在最后一个斜杠之后需要一个点,并且在文件扩展名中也不允许有空格(即最后一个点之后)。
任何帮助将不胜感激。
谢谢。
【问题讨论】:
标签:
javascript
regex
validation
【解决方案1】:
这个正则表达式可以解决问题:
(^(?:[a-zA-Z]:|(\\\\|\/\/)[\w\.]+(\\|\/)[\w.$]+)((\\|\/)|(\\\\|\/\/))(?:[\w ]+(\\|\/))*\w([\w. ])+[\.][a-zA-Z]+$)
【解决方案2】:
我不建议为此使用正则表达式,因为路径取决于使用它的文件系统。
您应该只进行一些基本检查,并处理异常(如果有)。
一个像下面这样简单的正则表达式就足够了:
[.][^\ .]+$ //would check if the path has extention
【解决方案3】:
试试这个:
(^(?:[a-zA-Z]:|(\\\\|\/\/)[\w\.]+(\\|\/)[\w.$]+)((\\|\/)|(\\\\|\/\/))(?:[\w ]+(\\|\/))*\w([\w.])+\.\w+$)