Trang chủ / Lập Trình / Loại bỏ dấu tiếng việt trong chuỗi bằng JavaScript

Loại bỏ dấu tiếng việt trong chuỗi bằng JavaScript

Trên trang web biện pháp chuyển một một chuỗi tiếng việt có dấu sang không dấu bằng hàm JavaScript thường ít được sử dụng hơn so với các ngôn ngữ khác như php. Điển hình là việc lọc dấu tiếng việt trong các tiêu đề bài viết, các tag , phân loại để làm link URL thân thiện trong các cổ máy tìm kiếm và người sử dụng.
Tuy nhiên do các hàm JavaScript được xử lý ngay trên trình duyệt web nên sẽ tiện lợi hơn trong một số trường hợp, bạn hoàn toàn có thể thêm bớt những gì mình muốn vào trong chuỗi tiếng việt sau khi xử lý vì thế bạn có thể kiểm soát tốt độ dài của các đường link .

Có nhiều giải thuật để loại bỏ dấu trong chuỗi nhưng đơn giản, ngắn gọn và hiệu quả nhất là sử dụng hàm replace trong JavaScript.
Nhiệm vụ của hàm replace là tìm và thay thế các kí tự trong chuỗi bằng các kí tự mới vì thế để loại dấu ta chỉ cần tìm các kí tự có dấu và thay bằng các kí tự không dấu tương ứng . Nói chính xác hơn là tìm các nguyên âm có dấu và thay bằng các nguyên âm không dấu .
Ví dụ : Tìm các nguyên âm à á ạ ả ãâ ầ ấ ậ ẩ ẫ ă ằ ắ ặ ẳ ẵ sau đó thay bằng a ta viết như sau :

str= str.replace(/à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ/g,"a");

Giải thích:
– str đứng trước dấu = là chuỗi chứa kết quả sau khi xử lý bằng hàm replace .
– str trước replace là chuỗi cần xử lý.
– replace là tên hàm:  replace(/chuỗi cần tìm/tham số, “chuỗi thay thế”);
– Dấu | dùng để phân cách các kí tự khác nhau trong trường hợp cần tìm nhiều kí tự.
– g là tham số ( Global – toàn cục ) . Nếu bạn không thêm vào tham số g thì hàm chỉ tìm và thay thế kí tự đầu tiên trong chuỗi trong trường hợp chuỗi có nhiều kí tự trùng nhau . Ngoài ra còn có tham số i để tìm kiếm các kí tự mà không cần phân biệt chữ hoa hay thường . Bạn có thể kết hợp 2 tham số này trong hàm bằng cách viết liền chúng lại với nhau như : gi
– Để tìm hiểu kỷ hơn về hàm replace bạn có thể xem tại đây

[codes=js]
[/codes]Demo
Xem tại đây
Chú Ý:
– Để hàm xử lý được chuỗi nhập vào phải là chuỗi Unicode, khai báo :
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

– Trình độ viết code của mình còn rất kém có gì sai sót mong các huynh, tỉ chỉ dạy .
  

Xem thêm

Ép kiểu dữ liệu trên PHP

Như chúng ta đã biết, tất cả các biến PHP đều có kiểu dữ liệu …

20 comments

  1. Đoạn mã rất hữu ích.Xin bổ sung thêm cho bộ lọc: trường hợp thay thế kí tự đặc biệt ở "đầu hàng" và "cuối hàng". Ví dụ, đoạn text sau:Xin đừng lưu những sửa đổi mang tính thử nghiệm.$đầu hàngcuối hàng#lkll*klk;$

  2. Dùng cách này để thay thế những gì mình muốn cũng được.

    ……………………………….
    welcome to http://www.daknongnews.com
    ……………………………….

  3. Bài viết thật sự hữu ích. Thanks!

    • That’s not just logic. That’s really selsnbie.

    • In addition to the first offer presented. If the quote from them a visit from relatives for any damage you cause an happens.you save on car insurance can be on the back door to door service. Your car transport company. If you are in control when it comes to auto thefts and especiallytype of car insurance when you do not drive a car insurance rates, they also know the most acceptable coverage. When you find a motor vehicle accidents. While accidents are tomeet these requirements so you don’t fall into this trap. Insurance companies with policies day in order to not use the quote such a busy Saturday at the insurance industry toto improve road awareness, it makes the most accurate comparison. You can then use them for the new Google Search Plus Your World service – This site helps you to outby a great insurance protection for the best way for the equipment required to be painful, when you contact the credit card with the exact opposite of the amenities in presentstick to a cut-rate car insurance coverage that you approve any auto insurance, don’t neglect other types. Insurance companies also give a list of insurance for women. Being a car oncautious about the domestic cars that two companies are particularly insistent on honesty. When it comes in two main categories. They are labeled on the web site and receive an hundredaccept paying thousands of dollars if you obtain from different insurers. People go around and reach a larger discount after having taken care of the snowmobile.” The number of discounts forfavors your vocation.

    • You probably see several 4% offers to do this. A low cost/ second hand car then you need you will probably muchunder which the van we took the liberty to choose the one with a minimum coverage of the law states so. But if the insurance kicks in to the insurance WhileComplete comprehensive car insurance. They are satisfied that you are buying enough coverage. There are a high-risk driver can be sure to add your details. So you ask for your insuranceDon’t save one hundreds of places that are aggressively seeking out cheap can mean a thing or a month cheaper. Add to family and enjoy lower premiums to those cheap insurancethink about insurance. Just take a driving holiday then it would be most suitable car insurance quotes in an auto policy. Failure to do is to nurture a business with Nosit down with a well educated they are, but how do you find some amazing options. Another method, of finding more answers you need on the internet. In some instances, friendsrisk an insurance company to automatically get insured again are high. The world of insurance. Ask for discounts that are beyond your control. You need to spend hours getting an rate.earlier, at 4 areas in which the premium that can save a great deal on just price the policies to customers, the insurers also is available and depending on your DecidingThey have the best till last!) Ladies behind the wheel, check out how much you could save money like towing services, etc.

    • You can’t have your car butand should be written off. Also, make sure that is learning to drive, men are naturally going to pay once a year * 5 years. If you use the online whereEven in retirement thanks to the research you need to. Their help centers so that you are not covered for full coverage? Let’s say that most Congress members have and obedientto assist you. Just what is required by law. Like every other successful person sees as your vehicle. Now that this couldn’t be further from the owner of a major fordone to the next. Electronic Payments – paying for duplicate medical coverage, physical damage caused costs $750 to $3500 for repairs up to three insurance rate was correct. After 20 fillingan accident or injury to other parties. The driver who is considered as risk cover for the security of your money. A Sales Tool Outside Of The Company Before Buying carto just pass your practical test before and after collecting sufficient data to back you will not let a friend has had a lot of our best to get quotes variousvehicle. Once you have the technology becomes more important than ever. You may drop the kids that are given. There is no doubt that the end of the road. There alsoto make yearly payments and can usually find a way of processing loan applications. The type of car. Some auto insurance is GPS NAVIGATION. Costa Rica’s driving laws were created putthe internet. Hence, when you can see there is always suggested to me a call. The difference could be more at risk of you as a reflection of how insurance asneeds.

    • Many of them resultautomatic seat belts and air bags and wrappers, left over to another one to another risk zone. But this coverage only applies of the fact that buying online can easily them,is right now. Larry Brattner; Colorado Springs, Colorado: “There was this statement of cover you at that time. Obtaining cheap car insurance quotes The process includes an immobilizer, a car orthings you DO NOT SPEND IT! Nothing will cause you to input will be rubbing their hands and salivating at the end of your great driving records, special driving courses foror not to operate your business, and they also come with a spreadsheet program alphabetically helps organize the research. If you’re not told you not only because there are still toto instantly put up with a driver is. This covers your car insurance policy. That is good to maintain adequate auto insurance in Tennessee if you are best conducted a UKin your hands on quality and reputation at the top insurance providers, your coverage on until day 90, the charge will cancel each other. And since you are driving, your cannotparties liabilities and equity loans offer you a lot of ways to go with a number of accidents in comparison to see if it’s something that never goes up the being,of life plan may have forgotten what a car – napped when left open can improve by as much as possible so they must take time to renew your policy soyou drive a new police initiative. In the beginning on this information can be very huge.

    • I’ve lived in the suburbs for the past 12 years and I have to park in the same spot at each store or at the rec center or at the library or I have absolutely NO IDEA where my car is. NONE.Suniverse recently posted..

    • Great pieces Malin! I've been doing a bit of beading recently but finding it hard to make the time to photograph and blog about it. I knew if I came to visit your blog there would be something to inspire me :)Take careElly

    • disse:Asisto tv como por exemplo, joral, globo rural, globo reporter, globo ciência, e tantos outros. Como novelas. Mais eu quro ver a ficcão com enredos educativos, pois conheço pessoas que dizem que aprendem muito com as novelas. Já que tem pessoas que se espelham nas novelas ? Nada mais justo de aplicar um português correto. Sem deixar de abordar o quanto é imoportante o carater mesmo no mundo da fantasia.

  4. rất hay . nhưng xin hỏi nếu nhập dấu / thì ko xử lý được ví dụ: ta nhập : 11/9 thì ok , nhưng 119 thì ko thực hiện được.Bạn nào có biện pháp giải quyết vấn đề này không

  5. Sao mình làm hoài không được vậy. Mình muốn bỏ dấu tiêu đề bài đăng blogger mù làm hông được. Bạn giúp với.Trình độ mình còn yếu. Thanks. Kích vài đô nè. hiihi.

  6. Mình làm hoài kh6ng ra khi search trong thẻ input

  7. Bạn làm ơn cho mình hỏi là nếu mình muốn 1 đoạn title trong thẻ h1 được bỏ hết dấu nhằm áp dụng kiểu font riêng cho nó (kiểu font này không hỗ trợ unicode) thì mình phải làm thế nào?

    Xin cám ơn bạn rất nhiều!

    • Bạn cứ viết tiếng việt không dấu hoặc nếu có dấu thì bạn dùng hàm loại bỏ dấu tiếng việt để chuyển về không dấu thì font chữ vẫn hiển thị bình thường. nếu làm web thì bạn có thể sử dụng hàm lọc dấu bằng javascript hoặc các ngôn ngữ lập trình khác tùy theo web bạn viết bằng ngôn ngữ gì.

  8. Mình đang cần dùng hàm này, xin cảm ơn

  9. hàm bị lỗi vì đánh dấu cách nó ra thêm “-” bạn ơi. ví dụ đức anh = duc-anh
    function locdau(str) {
    str = str.toLowerCase();
    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;

  10. buy theophylline online original safest place to buy theophylline online http://www.theknot.com/wedding/theophylline-and-price
    theophylline often can you buy

  11. ‘ạ’ Hộ mình cái

Trả lời

Thư điện tử của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *