字符串中的Javascript正则表达式货币符号

字符串中的Javascript正则表达式货币符号,javascript,regex,Javascript,Regex,因此,我有一个格式字符串,可以是$,#####.00或”、####.00,我想得到货币符号形式,这是我正在使用的代码: currencySymbol = format.match(/\p{Sc}/); 我希望currencySymbol等于“$”或“£”,但它不起作用。currencySymbol为null。\p{Sc}是PCRE regex属性,Javascript不支持它 在Javascript中,您需要在字符类中使用特定符号来匹配它们,如下所示: /[$£]/ 您可以使用类似的插件

因此,我有一个格式字符串,可以是
$,#####.00
”、####.00
,我想得到货币符号形式,这是我正在使用的代码:

 currencySymbol =  format.match(/\p{Sc}/);

我希望currencySymbol等于“$”或“£”,但它不起作用。currencySymbol为null。

\p{Sc}
是PCRE regex属性,Javascript不支持它

在Javascript中,您需要在字符类中使用特定符号来匹配它们,如下所示:

/[$£]/

您可以使用类似的插件。
简短回答:

/[\$\xA2-\xA5\u058F\u060B\u09F2\u09F3\u09FB\u0AF1\u0BF9\u0E3F\u17DB\u20A0-\u20BD\uA838\uFDFC\uFE69\uFF04\uFFE0\uFFE1\uFFE5\uFFE6]/

长答案

等价于
/\p{Sc}/
的JavaScript正则表达式是:

ScRe = /[\$\xA2-\xA5\u058F\u060B\u09F2\u09F3\u09FB\u0AF1\u0BF9\u0E3F\u17DB\u20A0-\u20BD\uA838\uFDFC\uFE69\uFF04\uFFE0\uFFE1\uFFE5\uFFE6]/

ScRe.test("$"); // true
ScRe.test("£"); // true
ScRe.test("€"); // true
上述信息由以下方面产生:

$ npm install regenerate
$ npm install unicode-7.0.0
$ node 
> regenerate().add(require('unicode-7.0.0/categories/Sc/symbols')).toString();
观察:


您也可以使用此
/(kr |$| | |€)/


currencySymbol=format.match(/(kr$$)/);
format.charAt(0)
?不确定它是否始终是欧元的第一个符号,例如,它是最后一个symbol@HasseneBenammou我下面的回答对你有帮助吗?你到底想做什么?如果你对查找各种货币符号感兴趣,请看CLDR。例如,。如果你想在货币符号上添加标记,我可以所以帮你。我应该列出所有可能的货币吗?因为它可以是任何货币。不幸的是,是的,你需要在JS中列出这个字符类中所有可能的货币。