Như chúng ta đã biết các quốc gia khác nhau có các quy ước khác nhau để hiển thị các giá trị. Do Javascript đó giúp ta xử lý các giá trị này dễ dàng hơn với Internationalization API
Việc quốc tế hóa còn được viết gọn lại thành I18N [18 ký tự giữa i và n trong từ trên]. Đây là một API cung cấp nhiều tính năng giúp ta chuyển đổi định dạng giá trị phù hợp với từng quốc gia
Hôm nay mình xin giới thiệu tới các bạn một đối tượng hỗ trợ I18N is Intl. Chúng ta sẽ tìm hiểu đối tượng này trong bài viết nhé 😀
quốc tế. Đối chiếu[]
quốc tế. Collator cho phép so sánh các chuỗi với tùy chọn ngôn ngữ
cú pháp
new Intl.Collator[locales, options]
Thông số
ngôn ngữ [Tùy chọn]. Đối số này giúp JS xác định ngôn ngữ mà bạn muốn so sánh
tùy chọn [Tùy chọn]
không xác định. default value
miền địa phương. Một định nghĩa ngôn ngữ, ví dụ. "en-US" - "English [United States]", "vi-VN" - "Vietnamese [Vietnam]",
Danh sách địa phương. http. //www. biệt ngữ. net/vi/người dịch/langcode. htm
danh sách địa phương. Ngoài ra Collator còn cho phép truyền một mảng ngôn ngữ làm đối số
Cùng với một vài ví dụ về cách sử dụng Intl. Collator[] nhé
At the ví dụ trên, hàm compare
của Intl. Collator[] sẽ trả về kết quả là âm, 0 hoặc dương, tùy thuộc vào công việc 'a' đứng trước 'b' trong thứ tự sắp xếp, các chuỗi bằng nhau theo thứ tự sắp xếp, hoặc trả về kết quả dương nếu
Add ví dụ nữa các bạn để hiểu rõ hơn
let collator = new Intl.Collator['en-US', {
numeric: true,
sensitivity: 'base',
}];
let people = [
{
name: '8tupac',
born: 1971,
},
{
name: '3biggie',
born: 1972,
},
{
name: '10eminem',
born: 1972,
},
];
people.sort[function [a, b] {
return collator.compare[a.name, b.name];
}];
At ví dụ trên mình đã truyền các giá trị vào tùy chọn như. số, độ nhạy mình sẽ giải thích các giá trị này
sensitivity
- căn cứ. Chỉ các chuỗi có chữ cái cơ bản khác nhau sẽ được tính là không bằng nhau. Ví dụ. a ≠ b, a = á, a = A
- giọng. Chỉ các chuỗi có chữ cái cơ bản và dấu khác nhau sẽ được tính là không bằng nhau. Ví dụ. a ≠ b, a ≠ á, a = A
- trường hợp. Chỉ các chuỗi có chữ cái cơ bản hoặc chữ hoa, chữ thường được so sánh là không bằng nhau. Ví dụ. a ≠ b, a = á, a ≠ A
- khác nhau. Các chuỗi khác nhau về chữ cái cơ bản, dấu trọng âm và các dấu phụ hoặc so sánh chữ hoa, chữ thường không giống nhau. Ví dụ. a ≠ b, a ≠ á, a ≠ A
Các bạn lưu ý. Trong một số ngôn ngữ, có một số chữ cái, dấu phụ được coi là chữ cái cơ bản
[
0: {name: "3biggie", born: 1972}
1: {name: "8tupac", born: 1971}
2: {name: "10eminem", born: 1972}
]
0. kiểu boolean true hoặc false nếu giá trị là true sẽ thực hiện sắp xếp các số nếu trong chuỗi có chứa số🎉 Cuối cùng thì kết quả trả về sẽ là
[
0: {name: "3biggie", born: 1972}
1: {name: "8tupac", born: 1971}
2: {name: "10eminem", born: 1972}
]
quốc tế. DateTimeFormat[] cho phép chúng ta định dạng ngày tháng khá dễ dàng 👏
Thông số
[
0: {name: "3biggie", born: 1972}
1: {name: "8tupac", born: 1971}
2: {name: "10eminem", born: 1972}
]
1. Intl section. Collator[] mình đã trình bày về tham số này[
0: {name: "3biggie", born: 1972}
1: {name: "8tupac", born: 1971}
2: {name: "10eminem", born: 1972}
]
2Thuộc tínhGiá trịnăm2 chữ số, sốtháng2 chữ số, số, thu hẹp, ngắn, dài ngày2 chữ số, số giờ2 chữ số, sốphút2 chữ số, số giây2 chữ số, sốtuầnngàythu hẹp, ngắn, dàiKhi sử dụng dateStyle hoặc timeStyle ta không sử dụng được các tùy chọn khác như ngày, giờ, tháng,
Ví dụ khi sử dụng
[
0: {name: "3biggie", born: 1972}
1: {name: "8tupac", born: 1971}
2: {name: "10eminem", born: 1972}
]
3Danh sách múi giờ cho bạn nào cần. http. //worldtimeapi. tổ chức/múi giờ
quốc tế. NumberFormat[]
😀 Tiếp theo chúng ta đến với phần định dạng số với
[
0: {name: "3biggie", born: 1972}
1: {name: "8tupac", born: 1971}
2: {name: "10eminem", born: 1972}
]
4Với một số trang web bán hàng, chúng ta có thể sử dụng hàm tạo này để định dạng tiền tệ với các tùy chọn đơn vị
tùy chọn [Tùy chọn]
[
0: {name: "3biggie", born: 1972}
1: {name: "8tupac", born: 1971}
2: {name: "10eminem", born: 1972}
]
0. Số lượng tối thiểu sau dấu phân cách[
0: {name: "3biggie", born: 1972}
1: {name: "8tupac", born: 1971}
2: {name: "10eminem", born: 1972}
]
1. The max number of max after the partition name[
0: {name: "3biggie", born: 1972}
1: {name: "8tupac", born: 1971}
2: {name: "10eminem", born: 1972}
]
2. Đơn vị tiền tệ. Tra cứu tài liệu tại đây[
0: {name: "3biggie", born: 1972}
1: {name: "8tupac", born: 1971}
2: {name: "10eminem", born: 1972}
]
3. giá trị. 'phần trăm', 'tiền tệ', 'đơn vị', 'thập phân'Một số ví dụ
Như vậy là mình đã giới thiệu cho các bạn một số nhà xây dựng thường sử dụng của Intl. Hi vọng bài viết này có thể giúp bạn hiểu được phần nào về Intl trong JavaScript
Trong khi thiết lập chương trình php nếu bạn gặp vấn đề về định dạng tiền tệ nhị phân. Ví dụ. Nhập vào hộp văn bản. 12000 thì sẽ xuất hiện 12. 000
Khi đó các bạn có thể thêm đoạn javascript bên dưới vào
Đoạn javascript trên khi chạy sẽ xuất hiện một hộp văn bản để chúng ta nhập số tiền vào. Khi nhập xong và con trỏ rời khỏi hộp văn bản thì giá trị trong hộp văn bản sẽ hiển thị dạng tiền tệ với phân cách phần nghìn
Chú thích
Nếu các bạn muốn đổi dấu '
5' thành dấu '[ 0: {name: "3biggie", born: 1972} 1: {name: "8tupac", born: 1971} 2: {name: "10eminem", born: 1972} ]
6' trong phần cách biệt thì các bạn có thể đổi "[ 0: {name: "3biggie", born: 1972} 1: {name: "8tupac", born: 1971} 2: {name: "10eminem", born: 1972} ]
7" thành "[ 0: {name: "3biggie", born: 1972} 1: {name: "8tupac", born: 1971} 2: {name: "10eminem", born: 1972} ]
8"[ 0: {name: "3biggie", born: 1972} 1: {name: "8tupac", born: 1971} 2: {name: "10eminem", born: 1972} ]