2015-11-09 7 views
1

Я пытаюсь добавить пространство до и после запятой в ввод/текст размытия. этот код работает отлично, но у меня есть небольшая проблема с этим, что я хочу сделать это один раз, если вы размываете ввод, он будет добавлять пространство до и после запятой, но если вы сделаете это снова, это добавит больше места .. например :jQuery - Добавить пробел после и перед запятой

хотите добавить пространство:

121212,13335345,345345345,

Результат:

121212, 13335345, 345345345

это нормально, но когда вы снова размываете, он добавит дополнительное пространство до и после запятой снова, я не хочу этого.

$('.dss').blur(function() { 
    $("#test").val(function (i, v) { 
     return v.replace(/,/g, " , "); 
    }); 
}); 

Вот JSFiddle

+0

Вы можете взять легкий путь, заменив ', 'с', 'затем заменив их на', '. Хотя я не думаю, что это лучший способ. –

ответ

3

Используйте * квантор, который будет соответствовать ноль или более раз

$('.dss').blur(function() { 
 
    $("#test").val(function(i, v) { 
 
    return v.replace(/\s*,\s*/g, " , "); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script> 
 
<input name="test" type="text" value="09356488891,09356446 " maxlength="50" id="test" /> 
 

 
<input type="" class="dss" />

+0

Большое спасибо. он работает хорошо .. – Pedram