2

试图找出一个用于验证网络路径的正则表达式,即:\\comp\xyz\\comp\\comp\x\y\z\storage或在所有部分上更冗长的东西,但希望能传达它的要点。

我目前拥有的是一个简单的输入字段,我有一个用户通过它传递信息。事情是我不希望他们把它弄错,因为后端连接到使用它在网络上的计算机上运行进程的客户端,所以我需要的最后一件事是有人输入错误并成为其他事情的原因打破。所以我认为一个快速的 preg_match 可以很好地从我目前正在使用的 PHP 端确认这一点,但我确实需要将它放入 JavaScript 和一个基于 Ruby 构建的层,所以我不知道所有正则表达式是否相等或者我是否需要一个适用于所有级别的..

另外,为了节省我以后回来的时间,我最终需要找出一个正则表达式,它允许用户执行本地路径,即:,C:\或前面提到的网络路径。X:H:\path\to\folder

4

5 回答 5

4

\\comp\x\y\z\storage

/^\\(\\[^\s\\]+)+(\\)?$/

H:\path\to\folder

/^([A-Za-z]:(\\)?|[A-Za-z]:(\\[^\s\\]+)+)(\\)?$/

Both

/^(\\(\\[^\s\\]+)+|([A-Za-z]:(\\)?|[A-z]:(\\[^\s\\]+)+))(\\)?$/

工作演示:http: //jsfiddle.net/DerekL/gLfdv/

于 2012-06-15T20:44:08.430 回答
1

这似乎对我有用:

([A-Z]:|\\)(\\[a-z0-9]+)*

让我知道您是否有任何问题(不受欢迎或额外需要的)匹配

并验证整个字段,使用:

^([A-Z]:|\\)(\\[a-z0-9]+)*$

编辑一个小的修改是必要的,以匹配你所有的建议(我的坏):

^([A-Z]:|\\)(\\$|\\[a-z0-9]+)*$
于 2012-06-15T20:44:19.220 回答
1

对于第一个我有:

^\\(\\[a-zA-Z_]\w*)+$

第二个:

^[a-zA-Z]:(\\([a-zA-Z_]\w*)*)*$
于 2012-06-18T19:51:16.303 回答
0

一般情况:

/^(\\\\\w+)(\\\w+)$/g   // matches \\comp, \\comp\xyz, \\comp\x\y\z\storage

具体案例:

/^([A-Z]:)(\\|\\\w+)*$/g  // matches C:\, X:, H:\path\to\folder  
于 2012-06-15T20:53:02.150 回答
0

这将匹配以 ip 地址开头的 UNC 路径,并且可以处理文件/文件夹名称中的空格。还验证标准路径格式,例如 C:\Users\User\some person\file.txt

/^((\\\\[a-zA-Z0-9-\.]+\\[a-zA-Z0-9`~!@#$%^&(){}'._-]+([ ]+[a-zA-Z0-9`~!@#$%^&(){}'._-]+)*)|([a-zA-Z]:))(\\[^ \\/:*?""<>|]+([ ]+[^ \\/:*?""<>|]+)*)*\\?$/

我修改了答案: PHP Regex for matching a UNC path

和: http ://regexlib.com/REDetails.aspx?regexp_id=2285&AspxAutoDetectCookieSupport=1

在https://jsfiddle.net/megamania/q5ncy7t6/上查看它的实际应用

于 2016-10-20T11:39:30.053 回答