我试图消除" $"后面的空格,这实际上是字符串的一部分(例如$ 100.00),并且是按用户输入动态生成的。
我对正则表达式的了解非常有限。所以我不确定这是否是我应该使用的东西。或许更实际的解决方案是.trim()。但据我了解,该方法会查找开头和结尾的空格。
这是我正在使用的标记:
<div class="sideBy_side">
Estimated Total Price ‡<br>
<span class="currency"><strong>$ 172.84</strong> <a class="popup currency"
href="/" title="USD">USD</a></span>
</div>
我的JSFiddle。
我对jQuery和JS开发一般都很陌生。您可以提供任何指示。
答案 0 :(得分:2)
您可以添加以下代码:
jQuery('.currency').find('strong').text(function(_,txt){
return txt.replace(" ","");// or txt.replace(/\$\s/,'$');
});
答案 1 :(得分:1)
你可以在vanilla JS中做到这一点:
function stripWhitespaceAfterDollar(strInput){
var pattern = /\$( )+/;
return strInput.replace(pattern,"$");
}
您想查看pattern
。
这是正则表达式。要创建正则表达式,请将其放在//
。
我们寻找这个部分\$
的美元符号
我们需要逃避美元,因为它是一个正则表达式运算符
然后我们用( )+
寻找尾随的whitepsace
(我们不需要括号,但为了清楚起见,我把它们放在那里)。我们可以使用+
+
正则表达式运算符表示一个或多个,因此我们查找一个或多个空格。
然后我们使用字符串builtin replace,它查找字符串或正则表达式并替换它 在这种情况下,我们正在寻找一个美元,然后是空白,并用美元符号替换它。
答案 2 :(得分:0)
如果空白始终是第二个字符,则不需要正则表达式。这样的事情可以解决问题:
//wrap total price in span tag
jQuery('.currency strong').wrapInner('<span id ="dollarSymb"></span>');
var price = $("#dollarSymb").html();
var cut = price.substring(0, 1) + price.substring(2);
$("#dollarSymb").html(cut);
<强> FIDDLE 强>
答案 3 :(得分:0)
您可以使用正则表达式:
var $element = $('.currency strong');
var text = $element.text();
var newText = text.replace(/(\$)\s*/g, '$1');
$element.text(newText);
答案 4 :(得分:0)
您可以尝试这样的事情:
jQuery(function($) {
var pane = $('#inputPane');
pane.val($.trim(pane.val()).replace(/\s*[\r\n]+\s*/g, '\n')
.replace(/(<[^\/][^>]*>)\s*/g, '$1')
.replace(/\s*(<\/[^>]+>)/g, '$1'));
});
结果如下:
<p>some text here...</p>
<p>more text here...</p>
答案 5 :(得分:0)