Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.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 删除字符串末尾括号内的文本_Javascript_Regex - Fatal编程技术网

Javascript 删除字符串末尾括号内的文本

Javascript 删除字符串末尾括号内的文本,javascript,regex,Javascript,Regex,我想要一个正则表达式,它可以在括号中找到一个字符串并将其删除,就像我在下面的示例字符串中希望执行此操作一样: 09373 837 937 (mobile) // Output should be "09373 837 937" 9838373838 (home) // Output should be "9838373838" +19383947388 (home) // Output should be "+19383947388" (938)3947388 (mobile) // Outpu

我想要一个正则表达式,它可以在括号中找到一个字符串并将其删除,就像我在下面的示例字符串中希望执行此操作一样:

09373 837 937 (mobile) // Output should be "09373 837 937"
9838373838 (home) // Output should be "9838373838"
+19383947388 (home) // Output should be "+19383947388"
(938)3947388 (mobile) // Output should be "(938)3947388"
因此,第一部分将始终是一个可以是任何格式的联系人号码&最后一部分将始终是标签,我想删除您可能使用的标签

.replace(/\s*\([^()]*\)$/, '')

如果需要确保只删除水平空白*,请将
\s*
替换为
[^\s\r\n]*

图案说明

  • \s*
    -零个或多个空格(替换为
    [^\s\r\n]
    以匹配水平空格,即
    \s
    \r
    \n
    从中“减去”)
  • \(
    -文字
    符号
  • [^()]*
    -如果括号内可能有
    (替换为
    [^)]*
    ,则除
    )以外的零个或多个符号
  • \)
    -结账
  • $
    -字符串结束
var re=/\s*\([^()]*\)$/g;
var strs=['09373 837 937(移动电话)'、'9838373838(家庭电话)'、+19383947388(家庭电话)'、(938)3947388(移动电话)';
对于(var s=0;s”;

}
String.replace(/\s*\(.*?$/,'')
你需要
.replace(/\s*\([^()]*\)$/,'')
。replace(/\s*\([^]*\)\s*$/,'')
甚至
replace(/[^\s\r\n]*\([^]*\)\s*$/,'')。
@wiktorstriebi\380ew谢谢你的工作,请把它贴到我这里,这样我就可以接受你所描述的答案了,我最好把它放在评论中。第一个是我尝试过并且有效的:。替换(/\s*([^()]*)$/,“”)