2012-09-20 28 views

回答

1

根据你的jsfiddle,你应该写在这changed功能方式:

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

    $("#label2").val(v); 
} 
​ 
+0

Oooh!很好,真的很好....我想要的是exacly!谢谢Serjio;) – Julien

1

请尝试下面的代码..它只是一个起点..根据需要定制它。

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

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

DEMO:http://jsfiddle.net/5sPZa/3/

+0

+1该死的你输入快。哈哈 –

+0

简单明了!这是完美的,谢谢Vage – Julien

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);