下面的代码行应该接受我输入的内容并将“”替换为“ - ”,它在第一个空格中起作用,但之后没有空格。
$('#myinput').live('keypress', function() {
var value = $(this).val();
value = value.replace(" ", "-");
$('#mydiv').text(value);
});
答案 0 :(得分:1)
尝试
value = value.replace(new RegExp("\\s", "g"), "-")
如果您想用一个"\\s+"
-
同时将input
视为一个事件,将.delegate
视为一种方法。
$('#inputdiv').delegate("#myinput", 'input', function() {
var value = $(this).val();
value = value.replace(new RegExp("\\s", "g"), "-");
$('#mydiv').text(value);
});
答案 1 :(得分:0)
value.replace根本不依赖于jQuery。它是JavaScript语言的一部分。 JavaScripts String.replace函数使用正则表达式。如果没有其他修饰符,则替换函数将匹配模式的第一个匹配项。您可以通过定义全局修饰符g来替换所有匹配项。
尝试
value = value.replace( / /g, "-");