α
Published on

Một số kĩ thuật xử lí tiếng Việt trong Javascript

764 words4 min read
Authors

Các kĩ thuật xử lí sau sẽ giúp chúng ta thao tác với tiếng Việt dễ dàng hơn mà không cần mất công xây dựng lại.

Xoá dấu tiếng Việt

Hàm xoa_dau() sau sẽ xoá loại bỏ hoàn toàn dấu câu tiếng Việt, không phân biệt hoa thường.

function xoa_dau(str) {
  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
}

Loại bỏ tất cả các kí tự không phải chữ cái và số

str = str.replace(
  /[^0-9a-zàáạảãâầấậẩẫăằắặẳẵèéẹẻẽêềếệểễìíịỉĩòóọỏõôồốộổỗơờớợởỡùúụủũưừứựửữỳýỵỷỹđ\s]/gi,
  ''
)

Xoá dấu cách thừa

// 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 xâu
str.trim()