【问题标题】:Reg Ex validator not working in javascript [duplicate]正则表达式验证器在 javascript 中不起作用 [重复]
【发布时间】:2016-03-01 12:00:23
【问题描述】:
regularExpression = '[\w]:\\.*';

function validate() {
  debugger;

  var regex = new RegExp(regularExpression);
  var ctrl = document.getElementById('txtValue');

  if (regex.test(ctrl.value)) {
    return true;
  } else {
    return false;
  }
}

上面是我用来验证正在输入的目录路径的代码。 Here 是验证器网站的链接,它显示了与 C:\ or D:\D:\Abcd\List.odt 的完美匹配。但是当我尝试运行上面的 JavaScript 时它失败了。

【问题讨论】:

  • @Tushar :你能帮我吗?用文件路径 reg ex 告诉我。与上述文件路径 reg ex 相同的问题:^(?:[a-zA-Z]\:|\\\[\w\.]+\[\w.$]+)\(?:[\w]+ \)*\w([\w.])+$

标签: javascript regex validation


【解决方案1】:

当正则表达式字符串'[\w]:\\.*'被JavaScript的RegEx引擎解析时,它将\w视为转义字符,由于\w作为转义字符没有特殊含义,因此将其视为w仅限。

要解决此问题,您需要像这样转义 \

var regularExpression = '[\\w]:\\.*';

或者像这样使用正则表达式

var regularExpression = /[\w]:\.*/;

正如 Cyrbil 在 cmets 中指出的,字符类 [\w] 仅与 \w 相同。因此,您可以放心地省略 \w 周围的方括号。

【讨论】:

  • 没有必要回答如此频繁的问题。您应该将它们标记为重复。
  • 他正在尝试验证一条路径,也许建议一种正确的方法?
猜你喜欢
  • 2021-06-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-21
  • 1970-01-01
  • 2015-05-29
  • 1970-01-01
  • 2018-11-29
相关资源
最近更新 更多