繁体   English   中英

JSLint中出现意外的'\\ d'

[英]Unexpected '\d' in JSLint

只是一个小问题:我正在尝试使我的代码JSLint无错误,但遇到了这个问题:

意外的'\\ d'。 (在两个正则表达式中)

hourduration = parseInt(activity.endTime.replace(":\d\d", ""), 10) - parseInt(activity.startTime.replace(":00", ""), 10);

minuteduration = (parseInt(activity.endTime.replace("(\d)?\d:", ""), 10) - parseInt(activity.startTime.replace(":00", ""), 10)) / 60;

我该怎么做才能提高我的正则表达式,以便jslint验证它?

谢谢!

解:

hourduration = parseInt(activity.endTime.replace(/:\d\d/, ""), 10) - parseInt(activity.startTime.replace(":00", ""), 10);

minuteduration = (parseInt(activity.endTime.replace(/(\d)?\d:/, ""), 10) - parseInt(activity.startTime.replace(":00", ""), 10)) / 60;

JSLint希望您使用RegExp对象或/regex/ 'string',而不是普通字符串:

// JSLint error
foo.match(':\d\d');
foo.match(RegExp(':\\d\\d'));

// no error
foo.match(/:\d\d/);
foo.match(new RegExp(':\\d\\d'));

编辑:所有示例都有效,但最后2个是使用正则表达式的官方方式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM