Javascript 验证vue.js输入字段按键事件上的正则表达式

Javascript 验证vue.js输入字段按键事件上的正则表达式,javascript,vue.js,Javascript,Vue.js,正则表达式完美地验证了linux文件路径。但是,keypress事件不允许用户自己键入第一个有效字母。当我开始以/的形式键入第一个字母时,e.target.value在控制台日志中被打印为空白 您可以将pattern.test(e.target.value)更改为e.key.match(pattern) 仅供参考,不再建议使用keypress-您的问题是在将字符添加到输入值之前触发keypress事件let res=pattern.test(e.key+e.target.value)这样您可以

正则表达式完美地验证了linux文件路径。但是,
keypress
事件不允许用户自己键入第一个有效字母。当我开始以
/
的形式键入第一个字母时,e.target.value在控制台日志中被打印为空白


您可以将pattern.test(e.target.value)更改为e.key.match(pattern)


仅供参考,不再建议使用keypress-您的问题是在将字符添加到输入值之前触发keypress事件
let res=pattern.test(e.key+e.target.value)
这样您可以返回
false
,并且输入值不会改变
validateLinuxPath() {
  let pattern = /^\/$|(\/[a-zA-Z_0-9-]+)+$/;
  let res = event.key.match(pattern);
  if (!res) {
    event.preventDefault();
    return false;
  }
}