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 回答