我使用此代码用我的某个字段中的/替换空格。
$('#field').bind('keyup keypress blur', function()
{
var myStr = $(this).val()
myStr=myStr.replace(/\s+/g, "/");
$('#field').val(myStr);
});
如何在" /"?
周围添加2个空格如果我尝试使用.replace(/\s+/g, " / ");
,则会在输入时给我/ / / / / / / r
。
答案 0 :(得分:1)
您不应该包含keyup
事件,否则替换后的空格也会被" / "
重复替换。
以下应该工作:
$('#field').bind('keypress', function() {
var myStr = $(this).val()
myStr=myStr.replace(/\s+/g, " / ");
$('#field').val(myStr);
});
答案 1 :(得分:1)
试试这个:
$('#field').bind('keyup', function() {
var myStr = $(this).val()
myStr=myStr.replace(/\s+$/g, ' / ');
$('#field').val(myStr);
});
https://jsfiddle.net/uo62y4ja/3/
在正则表达式中添加了$
,并在替换值中添加了/
周围的空格。此外,将关键事件简化为keyup
。
修改强>
anubhava 关于使用keypress
代替keyup
是正确的。主要区别在于在正则表达式中添加$
。