字符串中的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中列出这个字符类中所有可能的货币。