Lọc xóa dấu tiếng việt trong chuỗi JavaScript

Thảo luận trong 'Lập trình Javascript, js' bắt đầu bởi admin, 20/5/19.

  1. admin
    Tham gia ngày:
    22/5/13
    Bài viết:
    4,883
    Đã được thích:
    1,193
    Điểm thành tích:
    113
    Giới tính:
    Nam
    Xử lý lọc xóa hết dấu tiếng việt trong chuỗi html truyền vào javascript để xử lý lưu xuống database dạng URL hoặc dưới dạng không dấu khá dễ dàng với các hàm replace ký tự của javascript cung cấp rất tiện dụng như sau:

    LỌC DẤU TIẾNG VIỆT TRONG CHUỖI TRUYỀN VÀO TRONG JAVASCRIPT
    HTML:
    function loc_xoa_dau(str) {
       // Gộp nhiều dấu space thành 1 space
       str = str.replace(/\s+/g, ' ');
       // loại bỏ toàn bộ dấu space (nếu có) ở 2 đầu của chuỗi
       str = str.trim();
       // bắt đầu xóa dấu tiếng việt  trong chuỗi
        str = str.replace(/à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ/g, "a");
        str = str.replace(/è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ/g, "e");
        str = str.replace(/ì|í|ị|ỉ|ĩ/g, "i");
        str = str.replace(/ò|ó|ọ|ỏ|õ|ô|ồ|ố|ộ|ổ|ỗ|ơ|ờ|ớ|ợ|ở|ỡ/g, "o");
        str = str.replace(/ù|ú|ụ|ủ|ũ|ư|ừ|ứ|ự|ử|ữ/g, "u");
        str = str.replace(/ỳ|ý|ỵ|ỷ|ỹ/g, "y");
        str = str.replace(/đ/g, "d");
        str = str.replace(/À|Á|Ạ|Ả|Ã|Â|Ầ|Ấ|Ậ|Ẩ|Ẫ|Ă|Ằ|Ắ|Ặ|Ẳ|Ẵ/g, "A");
        str = str.replace(/È|É|Ẹ|Ẻ|Ẽ|Ê|Ề|Ế|Ệ|Ể|Ễ/g, "E");
        str = str.replace(/Ì|Í|Ị|Ỉ|Ĩ/g, "I");
        str = str.replace(/Ò|Ó|Ọ|Ỏ|Õ|Ô|Ồ|Ố|Ộ|Ổ|Ỗ|Ơ|Ờ|Ớ|Ợ|Ở|Ỡ/g, "O");
        str = str.replace(/Ù|Ú|Ụ|Ủ|Ũ|Ư|Ừ|Ứ|Ự|Ử|Ữ/g, "U");
        str = str.replace(/Ỳ|Ý|Ỵ|Ỷ|Ỹ/g, "Y");
        str = str.replace(/Đ/g, "D");
        return str;
    }
    VD:
    HTML:
    <script>
       chuoi="Lọc dấu tiếng việt trong javascript";
       chuoimoi=loc_xoa_dau(chuoi);
    </script>
    
    • Kết quả nhận được: Loc dau tieng viet trong javascript
    Nếu bạn xử lý cho URL thì thêm - vào khoảng trắng như sau:
    HTML:
    <script>
       chuoi="Lọc dấu tiếng việt trong javascript";
       chuoimoi=loc_xoa_dau(chuoi);
       chuoimoi = str.replace(" ", "-");
    </script>
    
    • Kết quả: Loc-dau-tieng-viet-trong-javascript
    LỌC BỎ TẤT CẢ CÁC KỸ TỰ ĐẶC BIỆT KHÔNG PHẢI LÀ SỐ VÀ CHỮ CÁI
    Mã:
    str = str.replace(/[^0-9a-zàáạảãâầấậẩẫăằắặẳẵèéẹẻẽêềếệểễìíịỉĩòóọỏõôồốộổỗơờớợởỡùúụủũưừứựửữỳýỵỷỹđ\s]/gi, '');
    VD:
    HTML:
    <script>
        str = "Xử lỹ dọc dấu @,.@ và các 123 trong ,^^ chuỗi javascript";
        str = str.replace(/[^0-9a-zàáạảãâầấậẩẫăằắặẳẵèéẹẻẽêềếệểễìíịỉĩòóọỏõôồốộổỗơờớợởỡùúụủũưừứựửữỳýỵỷỹđ\s]/gi, '');
    </script>
    
    • Kết quả: Xử lỹ dọc dấu và các 123 trong chuỗi javascript
     
    Cảm ơn đã xem bài:

    Lọc xóa dấu tiếng việt trong chuỗi JavaScript

  2. maysayhoaqua
    Tham gia ngày:
    19/10/18
    Bài viết:
    16
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nam
    cái này trông vậy thôi nhưng cũng đơn giản mà. nó là js cơ bản ai học sẽ biết
     
  3. minhtranseo
    Tham gia ngày:
    13/8/19
    Bài viết:
    20
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nam
    tks , mình đang cần cái này