0

ニュースタイトルのフィールドを追加するフォームがあり、このフィールドを使用してURLのタイトルに追加したいと思います。
次のような別の分野でライブでタイトルを書き直したいと思います。

http://jsfiddle.net/atmoner/5sPZa/1/

しかし、私は特殊文字(スペース、尋問、感嘆符など)を置き換えます。
それらがプレーンで書かれていても、気になりませんが、方法がわかりません。

例:

new article,like this !

に:

new-article-like-this
4

3 に答える 3

2

これを変更できます:

$("#label2").val(this.value);

これに:

var value = this.value;
value = value.replace(/[^a-zA-Z0-9]+/g, '-');  // special char(s) -> hyphen
value = value.replace(/^-|-$/g, ''); // remove leading/trailing hyphen
$("#label2").val(value);
于 2012-09-20T21:17:21.793 に答える
1

以下のコードを試してください。これは単なる出発点です。必要に応じてカスタマイズしてください。

$("#label1").bind("keyup", changed).bind("change", changed);

function changed() {
    $("#label2").val(this.value
         .replace(/\s|,/g, '_')       /* replace with _ */
         .replace(/!/g, ''));         /* simply remove */
}

デモ: http://jsfiddle.net/5sPZa/3/

于 2012-09-20T21:16:40.110 に答える
1

あなたのjsfiddleによると、次のようにchanged関数を書く必要があります:

function changed() {
    var v = this.value.replace(/\W+/g, '-')
        .replace(/-+$/, '')
        .replace(/^-+/, '');

    $("#label2").val(v);
}
​
于 2012-09-20T21:19:48.583 に答える