相当于PHP的Javascript';标点符号的正则表达式

相当于PHP的Javascript';标点符号的正则表达式,php,javascript,jquery,Php,Javascript,Jquery,我使用以下PHP代码行删除字符串中的标点符号: $key = preg_replace("/\p{P}/u", "", $key); 有人知道如何在Javascript/jQuery中做同样的事情吗 我知道可以像PHP的preg_replace()一样使用jQuery的replace()。我只是不知道使用什么正则表达式。类似这样的内容: <script type="text/javascript"> var str = "Some text here ..."; var p

我使用以下PHP代码行删除字符串中的标点符号:

$key = preg_replace("/\p{P}/u", "", $key);
有人知道如何在Javascript/jQuery中做同样的事情吗

我知道可以像PHP的preg_replace()一样使用jQuery的replace()。我只是不知道使用什么正则表达式。

类似这样的内容:

<script type="text/javascript">
  var str = "Some text here ...";
  var pattern = /\p{P}/u;
  document.write(str.replace(pattern,''));
</script>

var str=“此处有一些文本…”;
var模式=/\p{p}/u;
写(str.replace(模式“”);
编辑:


Javascript似乎与PECL不兼容,因此p{p}将无法工作。

在大多数情况下,Javascript和PHP中的正则表达式是相同的。因此,如果您有一个在PHP中工作的regexp,那么它很可能在JS中以同样的方式工作。主要区别在于,在JS中,您不需要将regexp用引号括起来(尽管您可以这样做)。你可以直接在字符串上调用replace,就像这样

myString.replace(/abc/i, "123");

请记住,这实际上并不会改变myString的值。。。它只返回被替换的版本

你读过这个问题吗?javascript没有用于穿孔的表达式。这可能有助于@Decker-我需要确保表达式完全匹配。我想第二个答案可能对我有用。谢谢。JavaScript正则表达式不支持
\p
。正如其他正则表达式所述,JavaScript与pecl不兼容,因此这不起作用。您可以替换所有非字母数字字符,但这可能不会提供所需的结果。我认为这就是所有字符的最终用途。这样我知道php和javascript将产生相同的结果。谢谢要获得
\pP
的实际行为,您需要使用一组Unicode范围。@alex,很有趣。。。我不熟悉那个命令。。。完全有可能我的答案对于这个特殊的例子是完全无用的。