Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
操纵字符串中的Javascript RegExp引用_Javascript_Regex - Fatal编程技术网

操纵字符串中的Javascript RegExp引用

操纵字符串中的Javascript RegExp引用,javascript,regex,Javascript,Regex,我正在将电话号码转换为可点击的url。我有一个html字符串,其中随机电话号码以非特定/一致的方式出现: 菲德尔·贝拉斯克斯(834)316-90-90↵利伯塔德(834)316-2930↵ 我使用正则表达式来搜索事件并“链接”它们,这是一个有助于实现这一点的函数: var regex = new RegExp( "\\+?\\(?\\d*\\)? ?\\(?\\d+\\)?\\d*([\\s./-]?\\d{2,})+", "g" );

我正在将电话号码转换为可点击的url。我有一个html字符串,其中随机电话号码以非特定/一致的方式出现:

菲德尔·贝拉斯克斯(834)316-90-90
↵利伯塔德(834)316-2930

我使用正则表达式来搜索事件并“链接”它们,这是一个有助于实现这一点的函数:

    var regex = new RegExp(
        "\\+?\\(?\\d*\\)? ?\\(?\\d+\\)?\\d*([\\s./-]?\\d{2,})+",
        "g"
    );
    return inputText.replace(regex, '<a href="tel:$&">$&</a>');
var regex=new RegExp(
“\\+?\\(?\\d*\)?\(?\\d+\)?\\d*([\\s./-]?\\d{2,})+”,
“g”
);
返回inputText.replace(正则表达式“”);
问题是,在上面的例子中,我在电话号码前得到一个空格,这会阻止html链接正常工作(即我得到的是“(834)316-90-90”,而不是“(834)316-90-90”)

有什么我可以直接在正则表达式上更改的吗?或者有没有一种方法可以应用.replace('');只是为了发生什么


谢谢

您可以使用替换函数,允许您自定义替换字符串

var inputText=`Fidel Velazquez(834)316-90-90
利伯塔德(834)316-2930
`;
var regex=new RegExp(
“\\+?\\(?\\d*\)?\(?\\d+\)?\\d*([\\s./-]?\\d{2,})+”,
“g”
);
变量输出=inputText.replace(正则表达式,函数(m){
var match=m.replace(//g',);
返回``;
});

控制台日志(输出)您可以使用替换函数,允许您自定义替换字符串

var inputText=`Fidel Velazquez(834)316-90-90
利伯塔德(834)316-2930
`;
var regex=new RegExp(
“\\+?\\(?\\d*\)?\(?\\d+\)?\\d*([\\s./-]?\\d{2,})+”,
“g”
);
变量输出=inputText.replace(正则表达式,函数(m){
var match=m.replace(//g',);
返回``;
});
控制台日志(输出)