gpt4 book ai didi

javascript - 两个或多个点的正则表达式

转载 作者:行者123 更新时间:2023-11-28 01:55:38 24 4
gpt4 key购买 nike

直播:http://jsfiddle.net/2KRHh/3/

$('#price').keyup(function(){
$('#price').val($('#price').val().replace('..', '.'));
})

我希望输入中只有一个点。这有效,但仅适用于 .. 数字。如果我仍然保留逗号这不起作用,那么我想用正则表达式替换它 - 如果是两个或更多点,则应该再替换一个。

如果在不同的地方,这也应该删除点 - 例如

11.23.32 - should remove second dot.

最佳答案

如果你想单独保留第一个句点并删除其他句点,表达式很简单:

/\./g

基本匹配所有时期;那么我们如何确保只匹配第二个、第三个等?很简单,您可以在替换函数中管理它:

var $price = $('#price'),
new_str = function(str) {
var i = 0;

return str.replace(/\./g, function() {
return ++i >= 2 ? '' : '.';
});
}($price.val());

$price.val(new_str);

变量i 用于跟踪句点匹配了多少次;如果它匹配了两次或更多次,它会返回一个空字符串并有效地删除句点。

关于javascript - 两个或多个点的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17127686/

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