Tha*_*amy 2 javascript regex jquery
我必须验证本地文件夹路径,其格式如下:..\sentinel\log.
对于C:\ sentinel\log,我有旧的正则表达式(/[\w]:\.*/)).我需要接受这条道路.
我从regexplibrary得到以下表达
var pathRE = new RegExp("/^((../ | [a-zA-Z0-9 _/ - \])*.[a-zA-Z0-9])"); 错误:SyntaxError:未终止的括号
当我执行时抛出此错误
我附上了我尝试过的代码
function checkFolderpath(path) {
try {
//var pathRE = new RegExp(/[\w]:\\.*/);
var pathRE = new RegExp("/^((\.\./|[a-zA-Z0-9_/\-\\])*\.[a-zA-Z0-9])");
if (pathRE.test(path)) {
$("#spanloggererror").html("");
return true;
}
else {
$("#spanloggererror").html(resx_Invalid_Loggerpath);
valtemp = 1;
}
return false;
}
catch (err) {
alert(err.Message);
}
Run Code Online (Sandbox Code Playgroud)
请建议我如何解决这个问题.
编辑:
路径值:..\Sentinel\log
您的正则表达式应该像这样构造:
var pathRE = /^((..\/|[a-zA-Z0-9_/-\\])*.[a-zA-Z0-9])/;
Run Code Online (Sandbox Code Playgroud)
您真正需要使用RegExp构造函数的唯一时间是动态地从单独的部分构建正则表达式./使用本机正则表达式语法时,必须小心在expression()中引用正斜杠字符.您不必在[ ]组内引用它们,但您需要加倍反斜杠.
该正则表达式将不匹配,..\what\ever因为它只在开始时查找正斜杠.它也不会匹配超过两个字符的终端文件名.我认为更好的是:
var pathRE = /^\.\.(?:\\[A-Za-z0-9_-]+)+/;
Run Code Online (Sandbox Code Playgroud)
对您期望的文件名字符进行适当的更改.
| 归档时间: |
|
| 查看次数: |
6992 次 |
| 最近记录: |