Thư viện siêu nhẹ hỗ trợ xử lý Tiếng Việt: chuẩn hóa dấu, bỏ dấu, chuyển số thành chữ, phân tích CCCD và hơn thế nữa!
Project description
vi-fix 🛠️
vi-fix là một thư viện Python mã nguồn mở siêu nhẹ (Zero Dependency), được tối ưu hóa để xử lý các bài toán đặc thù của Tiếng Việt như chuẩn hóa dấu, bỏ dấu, xử lý CCCD, nhà mạng và dữ liệu hành chính mới nhất.
🔗 Tài liệu hướng dẫn chi tiết: https://lib.mscrew.io.vn/vi-fix/py
✨ Tính năng nổi bật
- Siêu nhẹ: Dung lượng chỉ khoảng 5KB, không phụ thuộc vào thư viện bên thứ ba.
- Cập nhật 2026: Danh sách 34 tỉnh thành mới nhất theo phân cấp hành chính Việt Nam.
- Thông minh: Phân tích sâu dữ liệu từ số CCCD (Giới tính, Năm sinh, Tỉnh thành).
- Tiện lợi: Tên hàm ngắn gọn (
fix,nosign,clean...), dễ nhớ, dễ gõ.
🚀 Cài đặt
Cài đặt thông qua pip:
pip install vi-fix
📖 Hướng dẫn sử dụng
Nên sử dụng biệt danh vf để mã nguồn của bạn gọn gàng hơn:
import vi_fix as vf
# 1. Chuẩn hóa dấu (hoà -> hòa)
print(vf.fix("Khánh Hoà bình yên")) # Output: Khánh Hòa bình yên
# 2. Bỏ dấu Tiếng Việt
print(vf.nosign("Tiếng Việt có dấu")) # Output: Tieng Viet co dau
# 3. Phân tích CCCD (12 số)
info = vf.parse_cccd("037098000123")
print(info)
# Output: {'gender': 'Nam', 'birth_year': 1998, 'province_code': '037', 'valid': True}
# 4. Kiểm tra nhà mạng
print(vf.get_telco("0961234567")) # Output: Viettel
# 5. Định dạng tiền tệ
print(vf.money(1500000)) # Output: 1.500.000đ
# 6. Đọc số thành chữ
print(vf.num2str("102", lang="vi")) # Output: một không hai
# 7. Danh sách 34 tỉnh thành (Update 2026)
provinces = vf.get_provinces()
print(len(provinces)) # Output: 34
🛠️ Danh sách 15 hàm tiện ích
| Hàm | Mô tả |
|---|---|
| fix(text) | Sửa vị trí đặt dấu thanh chuẩn (hoà -> hòa). |
| nosign(text) | Chuyển văn bản có dấu thành không dấu. |
| clean(text) | Loại bỏ khoảng trắng thừa giữa các từ. |
| slug(text) | Tạo chuỗi định danh (slug) cho URL. |
| v_caps(text) | Viết hoa chuẩn tên riêng Tiếng Việt. |
| is_vi(text) | Kiểm tra văn bản có chứa ký tự Tiếng Việt không. |
| num2str(num, lang) | Chuyển dãy số thành chữ (Hỗ trợ vi/en). |
| money(amount) | Định dạng số thành tiền tệ VNĐ (1.000.000đ). |
| clean_phone(phone) | Chuẩn hóa mọi định dạng SĐT về đầu số 0. |
| get_telco(phone) | Nhận diện nhà mạng từ số điện thoại. |
| get_provinces(format) | Lấy danh sách 34 tỉnh thành (list/json/str). |
| is_email(email) | Kiểm tra định dạng email hợp lệ. |
| is_cccd(number) | Kiểm tra định dạng CCCD 12 chữ số. |
| parse_cccd(cccd) | Phân tích Giới tính, Năm sinh, Tỉnh từ CCCD. |
| gen_pass(length) | Tạo mật khẩu/OTP ngẫu nhiên nhanh. |
📄 Giấy phép (License)
Dự án này sử dụng giấy phép MIT License - Bạn có quyền tự do sử dụng, sửa đổi và phân phối.
✍️ Tác giả
Phát triển bởi MinhSangGD
- GitHub: MinhSangGDVN
- Project Link: vi-fix
Cũng có sẵn phiên bản dành cho JavaScript
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vi_fix-1.0.0.tar.gz.
File metadata
- Download URL: vi_fix-1.0.0.tar.gz
- Upload date:
- Size: 6.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26fd65c7fe29e855d3c2bfa7151aa3b27ed5ab51c856526ee26faa4701e7d33e
|
|
| MD5 |
79696d31f2a7b4add1c55315ec9a65cc
|
|
| BLAKE2b-256 |
2f8db60591305729de958f221b81ad10d29791342409deb916afebb038a3be8a
|
File details
Details for the file vi_fix-1.0.0-py3-none-any.whl.
File metadata
- Download URL: vi_fix-1.0.0-py3-none-any.whl
- Upload date:
- Size: 6.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
980ee77c0ff1d71974ff75932f9f53e4d8944c86372a9d95184726ff9682565a
|
|
| MD5 |
0140dbe413ad53df73d9f7d4e4e29204
|
|
| BLAKE2b-256 |
17ba23dcd7ddd69f3222f5a0a5d5668663b15da3b83452d8ae127c8195f1e4b3
|