次のコード行は、iが入力して、 ""を最初のスペースで動作する " - "で置き換えますが、その後はスペースを入れません。jQueryは、最初の使用後に.replace()を無視します
$('#myinput').live('keypress', function() {
var value = $(this).val();
value = value.replace(" ", "-");
$('#mydiv').text(value);
});
次のコード行は、iが入力して、 ""を最初のスペースで動作する " - "で置き換えますが、その後はスペースを入れません。jQueryは、最初の使用後に.replace()を無視します
$('#myinput').live('keypress', function() {
var value = $(this).val();
value = value.replace(" ", "-");
$('#mydiv').text(value);
});
あなたは、単一の-
で複数の連続したスペースを置換したい場合にもまた法としてイベントとしてinput
と.delegate
に見"\\s+"
を使用することができます
value = value.replace(new RegExp("\\s", "g"), "-")
を試してみてください。
RegExp
に頼る
$('#inputdiv').delegate("#myinput", 'input', function() {
var value = $(this).val();
value = value.replace(new RegExp("\\s", "g"), "-");
$('#mydiv').text(value);
});
value.replaceは全くのjQueryに依存しません。これはJavaScript言語の一部です。 JavaScripts String.replace関数は正規表現を使用します。それ以上の修飾子がなければ、replace関数はパターンの最初の出現と一致します。グローバルモディファイアgを定義することによって、すべてのマッチを置き換えることができます。
は素晴らしい仕事
value = value.replace(/ /g, "-");
をお試しください。ありがとう! –