gpt4 book ai didi

javascript - 在 jQuery/JS 中使用正则表达式从价格格式的字符串中提取 float

转载 作者:行者123 更新时间:2023-12-03 03:02:16 25 4
gpt4 key购买 nike

联系所有 JS 正则表达式专家。我正在构建一个函数,该函数将从字符串中删除 $、空格、逗号、[A-Z]、[a-z],只留下 float (如果它存在于给定的字符串中),如下所示:

var result = myFunction( 'USD $12, 345.95'); //result = 12345.95
var result = myFunction( 'ten dollars US' ); // result = false

function myFunction( weirdString ){

// some code

}

我知道我可以这样做(如果我错了,请原谅我):

weirdString.replace(/[&$<>"'`=\/\s]|[A-Z]|[a-z]/g, '');
isNaN( weirdString ) ? return false : return weirdString;

但是什么是正确的方法呢?

最佳答案

您可以仅将您需要的字符列入白名单,而不是将您不想允许的每个字符列入黑名单:

[^\d.]  // match anything that isn't a digit or period

这样做的好处是您不必考虑每个可能要拒绝的字符。例如,如果出于某种原因,字符 é (带重音的 e)出现在您的字符串中,您使用的正则表达式会将其视为 float 的一部分,而您可能不会这样做不想要。

在这里测试一下:https://regex101.com/r/g8zBRP/2

关于javascript - 在 jQuery/JS 中使用正则表达式从价格格式的字符串中提取 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47320091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com