JavaScript - Jquery chuyển tiếng Việt có dấu sang tiếng Việt không dấu

Cập nhật: Lượt xem: 2870 [ Javascript ]

Việc chuyển tiếng việt có dấu sang tiếng việt không dấu rất tốt cho SEO. Bởi tiếng Việt không dấu sẽ được tìm kiếm nhiều hơn.

JavaScript - Jquery chuyển tiếng Việt có dấu sang tiếng Việt không dấu

Hôm nay, mình xin tổng hợp những cách chuyển từ tiếng việt có dấu sang tiếng việt không dấu nhanh nhất bằng jquery và javascript

cach-xay-dung-bo-tu-khoa-seo-13

Bỏ dấu tiếng Việt bằng Javascript


Cách đầu tiên là cách mình hay dùng đó là sử dụng javascript replace các chữ cái có dấu thành chữu cái không dấu. Việc này khi bạn cho nội dung vào thì mỗi khi load trang nó sẽ tự động chuyển sang tiếng việt không dấu cho bạn luôn.

<span name='tags'>Nội dung tiếng việt có dấu</span>
<script language='javascript'>
    var w=window.innerWidth;
    var msg = document.getElementsByName(&quot;tags&quot;);
    for (var i = 0; i &lt; msg.length; i++) {
        var oldtext = document.getElementsByName(&quot;tags&quot;)[i].innerHTML;
        var newtext = oldtext.replace(/(^|[\n ])([\w]+?:\/\/[^ ,\&quot;\n\r\t&lt;]*)/ig, &quot;$1<a href='$2' target='_blank'>$2</a>&quot;);
        newtext = newtext.replace(/à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ/ig, &#39;a&#39;);
        newtext = newtext.replace(/è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ/ig, &#39;e&#39;);
        newtext = newtext.replace(/ì|í|ị|ỉ|ĩ/ig, &#39;i&#39;);
        newtext = newtext.replace(/ò|ó|ọ|ỏ|õ|ô|ồ|ố|ộ|ổ|ỗ|ơ|ờ|ớ|ợ|ở|ỡ/ig, &#39;o&#39;);
        newtext = newtext.replace(/ù|ú|ụ|ủ|ũ|ư|ừ|ứ|ự|ử|ữ/ig, &#39;u&#39;);
        newtext = newtext.replace(/ỳ|ý|ỵ|ỷ|ỹ/ig, &#39;y&#39;);
        newtext = newtext.replace(/đ/ig, &#39;d&#39;);

        document.getElementsByName(&quot;tags&quot;)[i].innerHTML = newtext;
    }
</script>

Mỗi khi load trang nội dung trong name='tags' sẽ được chuyển thành tiếng việt không dấu

Bỏ dấu tiếng Việt bằng Jquery


Cách này sẽ sử dụng jquery thay đổi tiếng Việt có dấu thành tiếng Việt không dấu trong khung nhập chỉ bằng 1 click.

$(function () {
    $(".textbox").keyup(function () {
        var text = $(this).val();
        var text_create;
       text_create = text.replace(/à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ/g, "a").replace(/\ /g, '-').replace(/đ/g, "d").replace(/đ/g, "d").replace(/ỳ|ý|ỵ|ỷ|ỹ/g,"y").replace(/ù|ú|ụ|ủ|ũ|ư|ừ|ứ|ự|ử|ữ/g,"u").replace(/ò|ó|ọ|ỏ|õ|ô|ồ|ố|ộ|ổ|ỗ|ơ|ờ|ớ|ợ|ở|ỡ.+/g,"o").replace(/è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ.+/g, "e").replace(/ì|í|ị|ỉ|ĩ/g,"i");
        $('.divclass').text(text_create);
    }).keyup();
});

textbox và div thay đổi cùng 1 lúc khi mình nhập ký tự vào textbox.