2015-12-02 22 views

回答

2

嗯,真的,你會這樣做正則表達式和字符串替換,而不是jQuery。

var name = "Hello, my name is Corey."; 
name = name.toLowerCase().replace(/ /g,'-'); 
0

,你在文本輸入型我做了一個小的jQuery擴展slugify串並輸出結果:

jquery.slug.js:

jQuery.fn.slug = function(options) { 
    var defaults = { 
     events: 'keypress keyup blur', 
     targets: ['#slug', '#hidden'] 
    }; 
    var opts = jQuery.extend(defaults, options); 

    jQuery(this).on(opts.events, function(){ 
     var slug = $(this).val().toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/-$/, '').replace(/^-/, ''); 

     jQuery.each(opts.targets, function(index, element) { 
     $(element).val(slug); // input or textarea 
     $(element).html(slug); // other dom elements 
     }); 
    }); 
}; 

用法:

$('input[name="some-text-input"]').slug({targets: ['#some-id', 'input[name="some-name"]']});