1

我有以下内容:

const checkCode = code => {
    if( /^\+[0-9]{3}/[0-9]{3}[A-Z]+[0-9]{3}$/.test( code ))){
        return true;
    }
    //run more code...
}

Babel 转译器产生一个指向正则表达式第一个{的意外令牌错误,如下所示:

if( /^\+[0-9]{
             ^
4

2 回答 2

1

babel 错误可能指向一个奇怪的标记,但您显然在该行中有一些拼写错误/错误:

    if( /^\+[0-9]{3}/[0-9]{3}[A-Z]+[0-9]{3}$/.test( code ))){
//                  ^                                      ^
于 2016-07-30T08:24:12.923 回答
0

删除多余的括号后,编译器错误继续。然后我转义了模式中的“/”,错误消失了。

由于 javascript 引擎使用“/”来表示正则表达式模式的开始和结束,因此模式中未转义的“/”发送了错误消息。为什么编译器将错误标记放置在量词字符上尚不清楚。

于 2016-07-30T15:39:52.893 回答