我有一个表单来添加一个带有新闻标题的字段,并且想使用这个字段添加到 url 的标题中。
我想在另一个字段中重写标题,如下所示:
http://jsfiddle.net/atmoner/5sPZa/1/
但我会替换特殊字符(空格,询问,感叹号......)
即使它们应该用简单的方式写出来,我也不会打扰,但我不明白如何
示例:
new article,like this !
到:
new-article-like-this
我有一个表单来添加一个带有新闻标题的字段,并且想使用这个字段添加到 url 的标题中。
我想在另一个字段中重写标题,如下所示:
http://jsfiddle.net/atmoner/5sPZa/1/
但我会替换特殊字符(空格,询问,感叹号......)
即使它们应该用简单的方式写出来,我也不会打扰,但我不明白如何
示例:
new article,like this !
到:
new-article-like-this
你可以改变这个:
$("#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);
试试下面的代码..这只是一个起点..根据需要进行自定义。
$("#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/
根据你的jsfiddle,你应该changed
这样写函数:
function changed() {
var v = this.value.replace(/\W+/g, '-')
.replace(/-+$/, '')
.replace(/^-+/, '');
$("#label2").val(v);
}