Bổ sung phần điều kiện cho bài tập tách họ tên bằng javascript

Mọi người cho mình hỏi thăm chút:

Mình làm bài tập tách họ, tên lót và tên khi nhập thông tin cá nhân. Bài tập mình đã làm xong, tuy nhiên phần điều kiện nếu người dùng họ không nhập chuỗi mà họ nhập số thì vẫn ra kết quả.

Mình muốn bổ sung điều kiện để chỉ chấp nhận đầu vào là chuỗi ký tự, nếu nhập các loại dữ liệu khác thì báo lỗi.

Có bạn nào có thể gợi ý cho mình không? Xin cám ơn!:grinning:

output

Hmmm… Trong trường hợp này thì bạn dùng regex để kiểm tra xem trong chuỗi ngoài kí tự ra thì còn cái gì khác không. Nếu có thì thông báo không hợp lệ. Lưu ý, để có thể dùng được cho trường hợp nhập tên tiếng Việt thì phải chuyển tên Tiếng Việt sang Tiếng Anh rồi mới dùng regex để kiểm tra. Code chuyển Tiếng Việt thành Tiếng Anh đây, còn cái kiểm tra bằng regex thì tự bạn làm, đơn giản lắm, chỉ cần dùng .match() và regex là xong:

let str = "PHẦN MỘT. LỊCH SỬ THẾ GIỚI THỜI NGUYÊN THỦY, CỔ ĐẠI VÀ TRUNG ĐẠI"; //Ví dụ
str
    .normalize("NFD") //Chuyển từ tiếng Việt sang tiếng Anh theo kiểu Unicode tổ hợp.
    .replace(/[\u0300-\u036f]/g, "") //Xoá thanh điệu.Link gốc đây: https://stackoverflow.com/a/37511463
    .replace(/đ/g, "d") //Chuyển "đ' thành "d'
    .replace(/Đ/g, "D"); //Chuyển "Đ" thành "D", vì " đ" và "Đ" là kí tự độc lập nên phải xử lí riêng

Link gốc của code tại đây: https://gist.github.com/hu2di/e80d99051529dbaa7252922baafd40e3#gistcomment-2983674. Mình chỉ thêm chút comment để giải thích thôi.

3 Likes

À cho mình hỏi, bạn dùng vscode đúng không? Bạn dùng extension nào để chụp lại code vậy? Cho mình xin với! :smiley:

1 Like

Hi bạn, bạn seach Polacode nha bạn :slight_smile:

Xin cám ơn bạn đã chia sẻ, để mình đọc :grinning:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?