Chữ hoa đầu tiên JavaScript w3schools

Quay lại một vòng khác của Kiến thức cơ bản về web. Trong phần trước, chúng ta đã học Cách đảo ngược chuỗi trong Javascript. Nhân tiện, đối với những người mới tham gia cộng đồng của tôi. Khái niệm cơ bản về web là một loạt bài về các chủ đề lập trình thiết yếu mà mọi nhà phát triển web nhất định phải biết. Bạn có thể xem các bài đăng cơ bản về web trên Instagram của tôi. Giới thiệu thế đủ rồi, bắt đầu vào bài nào 🤓

Hàm JavaScript toUpperCase[]. Chức năng này áp dụng trên một chuỗi và thay đổi tất cả các chữ cái thành chữ hoa.  

cú pháp

string.toUpperCase[]

JavaScript slice[] Hàm. Hàm này áp dụng cho một chuỗi và cắt nó theo tham số đã truyền.  

cú pháp

string.slice[start, end]

Thí dụ. Ví dụ này sử dụng phương thức slice[] để chuyển chữ cái đầu tiên thành chữ hoa

HTML




string.slice[start, end]
0

string.slice[start, end]
1

string.slice[start, end]
8
string.slice[start, end]
9

string.slice[start, end]
1
string.charAt[index]
1
string.slice[start, end]
3>

string.slice[start, end]
1

string.slice[start, end]
0

string.slice[start, end]
1 char.toLocaleUpperCase[locale]]; }

Điều này có thể được điều chỉnh một chút để xử lý việc viết hoa nhiều từ trong một chuỗi với độ chính xác khá tốt đối với ít nhất một số ngôn ngữ, mặc dù các trường hợp ngoại lệ sẽ khó tránh hoàn toàn nếu làm như vậy cho dù ngôn ngữ chính là gì

Thuộc tính ký tự hoặc ký tự

capitalizeFirstLetter["𐐶𐐲𐑌𐐼𐐲𐑉"]; // "𐐶𐐲𐑌𐐼𐐲𐑉"
6 khớp với tất cả các điểm mã thay đổi khi được viết hoa trong trường hợp chung khi không có dữ liệu ngôn ngữ cụ thể. Có các thuộc tính ký tự Unicode liên quan đến trường hợp thú vị khác mà bạn có thể muốn khám phá. Đó là một khu vực thú vị để khám phá nhưng chúng tôi sẽ đi cả ngày nếu chúng tôi liệt kê tất cả ở đây. Tuy nhiên, đây là một cái gì đó để thu hút sự tò mò của bạn nếu bạn không quen.
capitalizeFirstLetter["𐐶𐐲𐑌𐐼𐐲𐑉"]; // "𐐶𐐲𐑌𐐼𐐲𐑉"
7 là một nhóm lớn hơn
capitalizeFirstLetter["𐐶𐐲𐑌𐐼𐐲𐑉"]; // "𐐶𐐲𐑌𐐼𐐲𐑉"
8 [còn gọi là
capitalizeFirstLetter["𐐶𐐲𐑌𐐼𐐲𐑉"]; // "𐐶𐐲𐑌𐐼𐐲𐑉"
9] — được minh họa thuận tiện bằng cách so sánh bộ ký tự mặc định trong công cụ này do Unicode cung cấp. [NB. không phải mọi thứ bạn có thể tham khảo cũng có sẵn trong biểu thức chính quy ES, nhưng hầu hết những thứ bạn có thể muốn là]

Các lựa chọn thay thế cho ánh xạ trường hợp trong JS [Firefox & CSS thích tiếng Hà Lan. ]

Nếu các chữ ghép với các quy tắc viết hoa ngôn ngữ/ngôn ngữ/chính tả duy nhất tình cờ có một biểu diễn “được soạn thảo” một điểm mã trong Unicode, chúng có thể được sử dụng để làm rõ các kỳ vọng viết hoa của một người ngay cả khi không có dữ liệu ngôn ngữ. Ví dụ: chúng ta có thể thích chữ ghép i-j được soạn, ij / U+133, được liên kết với tiếng Hà Lan, để đảm bảo ánh xạ chữ hoa chữ thường thành chữ hoa IJ / U+132

capitalizeFirstLetter['ijsselmeer']; // "IJsselmeer"

Mặt khác, các bản ghép sẵn và các bản tương tự đôi khi không được dùng nữa [giống như bản đó, có vẻ như. ] và có thể không mong muốn trong văn bản được hoán đổi bất kể do khả năng gây phiền toái khi sao chép nếu đó không phải là cách thông thường mà mọi người nhập trình tự trong thực tế. Thật không may, trong trường hợp không có "gợi ý" tiền tố, thì một ngôn ngữ rõ ràng sẽ không giúp ích gì ở đây [ít nhất là theo như tôi biết]. Nếu chúng ta đánh vần

function capitalizeFirstLetter[[ first='', ...rest ]] {
  return [ first.toUpperCase[], ...rest ].join[''];
}

capitalizeFirstLetter["𐐶𐐲𐑌𐐼𐐲𐑉"] // "𐐎𐐲𐑌𐐼𐐲𐑉"
0 với một
function capitalizeFirstLetter[[ first='', ...rest ]] {
  return [ first.toUpperCase[], ...rest ].join[''];
}

capitalizeFirstLetter["𐐶𐐲𐑌𐐼𐐲𐑉"] // "𐐎𐐲𐑌𐐼𐐲𐑉"
1 +
function capitalizeFirstLetter[[ first='', ...rest ]] {
  return [ first.toUpperCase[], ...rest ].join[''];
}

capitalizeFirstLetter["𐐶𐐲𐑌𐐼𐐲𐑉"] // "𐐎𐐲𐑌𐐼𐐲𐑉"
2 bình thường, thì
function capitalizeFirstLetter[[ first='', ...rest ]] {
  return [ first.toUpperCase[], ...rest ].join[''];
}

capitalizeFirstLetter["𐐶𐐲𐑌𐐼𐐲𐑉"] // "𐐎𐐲𐑌𐐼𐐲𐑉"
3 sẽ tạo ra kết quả sai ngay cả khi chúng ta chỉ rõ rõ ràng
function capitalizeFirstLetter[[ first='', ...rest ]] {
  return [ first.toUpperCase[], ...rest ].join[''];
}

capitalizeFirstLetter["𐐶𐐲𐑌𐐼𐐲𐑉"] // "𐐎𐐲𐑌𐐼𐐲𐑉"
4 là ngôn ngữ

capitalizeFirstLetter['ijsselmeer', 'nl']; // "Ijsselmeer" :[

[Tôi không hoàn toàn chắc chắn liệu có một số trường hợp như vậy mà hành vi này liên quan đến tính khả dụng của dữ liệu ICU hay không - có lẽ ai đó khác có thể nói. ]

Tuy nhiên, nếu điểm chuyển đổi là để hiển thị nội dung văn bản trong trình duyệt web, thì bạn có sẵn một tùy chọn hoàn toàn khác có thể sẽ là lựa chọn tốt nhất của bạn. tận dụng các tính năng của các ngôn ngữ cốt lõi khác của nền tảng web, HTML và CSS. Được trang bị với

function capitalizeFirstLetter[[ first='', ...rest ]] {
  return [ first.toUpperCase[], ...rest ].join[''];
}

capitalizeFirstLetter["𐐶𐐲𐑌𐐼𐐲𐑉"] // "𐐎𐐲𐑌𐐼𐐲𐑉"
5 của HTML và
function capitalizeFirstLetter[[ first='', ...rest ]] {
  return [ first.toUpperCase[], ...rest ].join[''];
}

capitalizeFirstLetter["𐐶𐐲𐑌𐐼𐐲𐑉"] // "𐐎𐐲𐑌𐐼𐐲𐑉"
6 của CSS, bạn đã có một giải pháp khai báo [giả] để lại thêm chỗ cho tác nhân người dùng trở nên “thông minh. ” API JS cần phải có kết quả có thể dự đoán được trên tất cả các trình duyệt [nói chung] và không được tự do thử nghiệm phương pháp phỏng đoán. Tuy nhiên, bản thân tác nhân người dùng chỉ bắt buộc đối với người dùng của nó và các giải pháp heuristic là trò chơi công bằng khi đầu ra dành cho con người. Nếu chúng tôi nói với nó "văn bản này là tiếng Hà Lan, nhưng vui lòng viết hoa", thì kết quả cụ thể hiện có thể khác nhau giữa các trình duyệt, nhưng có thể đó sẽ là kết quả tốt nhất mà mỗi trình duyệt có thể làm. Hãy xem nào



Untransformed
ijsselmeer
Capitalized with CSS and lang=en
ijsselmeer
Capitalized with CSS and lang=nl
ijsselmeer

Trong Chromium tại thời điểm viết bài, cả dòng tiếng Anh và tiếng Hà Lan đều xuất hiện dưới dạng

function capitalizeFirstLetter[[ first='', ...rest ]] {
  return [ first.toUpperCase[], ...rest ].join[''];
}

capitalizeFirstLetter["𐐶𐐲𐑌𐐼𐐲𐑉"] // "𐐎𐐲𐑌𐐼𐐲𐑉"
7 — vì vậy nó không tốt hơn JS. Nhưng hãy thử nó trong Firefox hiện tại. Phần tử mà chúng tôi đã nói với trình duyệt có chứa tiếng Hà Lan sẽ được hiển thị chính xác dưới dạng IJsselmeer ở đó

Giải pháp này dành riêng cho mục đích [dù sao thì nó cũng sẽ không giúp ích gì cho bạn trong Node] nhưng thật ngớ ngẩn khi tôi không thu hút sự chú ý đến nó trước đây vì một số người có thể không nhận ra rằng họ đang tra cứu sai câu hỏi trên Google. Cảm ơn @paul23 đã làm rõ thêm về bản chất của sơ đồ IJ trong thực tế và thúc đẩy điều tra thêm

Kể từ tháng 1 năm 2021, tất cả các công cụ chính đã triển khai tính năng lớp ký tự thuộc tính Unicode, nhưng tùy thuộc vào phạm vi hỗ trợ mục tiêu của bạn, bạn có thể chưa sử dụng được tính năng này một cách an toàn. Trình duyệt cuối cùng giới thiệu hỗ trợ là Firefox [78; 30 tháng 6 năm 2020]. Bạn có thể kiểm tra sự hỗ trợ của tính năng này với. Babel có thể được sử dụng để biên dịch các ký tự RegExp có tham chiếu thuộc tính thành các mẫu tương đương mà không có chúng, nhưng lưu ý rằng mã kết quả đôi khi có thể rất lớn. Bạn có thể sẽ không muốn làm điều này trừ khi bạn chắc chắn rằng sự đánh đổi là hợp lý cho trường hợp sử dụng của bạn

Rất có thể, những người đặt câu hỏi này sẽ không quan tâm đến việc viết hoa hoặc quốc tế hóa Deseret. Nhưng thật tốt khi nhận thức được những vấn đề này vì rất có thể cuối cùng bạn sẽ gặp phải chúng ngay cả khi hiện tại chúng không phải là vấn đề đáng lo ngại. Chúng không phải là trường hợp "cạnh", hay đúng hơn, chúng không phải là trường hợp cạnh được định nghĩa - dù sao thì có cả một quốc gia nơi hầu hết mọi người nói tiếng Thổ Nhĩ Kỳ và việc kết hợp các đơn vị mã với điểm mã là một nguồn lỗi khá phổ biến [đặc biệt là với . Cả chuỗi và ngôn ngữ đều khá phức tạp

* Các đơn vị mã của UTF-16 / UCS2 cũng là các điểm mã Unicode theo nghĩa là e. g. U+D800 về mặt kỹ thuật là một điểm mã, nhưng đó không phải là ý nghĩa của nó ở đây. loại. mặc dù nó trở nên khá mờ nhạt. Tuy nhiên, điều mà các đại diện thay thế chắc chắn không phải là USV [giá trị vô hướng Unicode]

** Mặc dù nếu một đơn vị mã thay thế là “mồ côi” — tôi. e. , không phải là một phần của cặp logic — bạn vẫn có thể nhận được từ thay thế ở đây

*** có lẽ. Tôi đã không kiểm tra nó. Trừ khi bạn đã xác định viết hoa là một nút cổ chai có ý nghĩa, tôi có lẽ sẽ không lo lắng về điều đó - hãy chọn bất cứ điều gì bạn cho là rõ ràng và dễ đọc nhất

**** một chức năng như vậy có thể muốn kiểm tra cả đơn vị mã thứ nhất và thứ hai thay vì chỉ mã đầu tiên, vì có thể đơn vị đầu tiên là đơn vị thay thế mồ côi. Ví dụ: đầu vào "\uD800x" sẽ viết hoa nguyên trạng X, điều này có thể được mong đợi hoặc không

Làm cách nào để viết hoa chữ cái đầu tiên trong JavaScript?

Để viết hoa ký tự đầu tiên của chuỗi, chúng ta có thể dùng hàm charAt[] để tách ký tự đầu tiên rồi dùng hàm toUpperCase[] để viết hoa ký tự đầu tiên.

Làm cách nào để kiểm tra xem chữ cái đầu tiên của chuỗi có phải là chữ hoa trong JavaScript không?

Nếu str. toUpperCase[] không trả về cùng một str , nó phải là chữ thường. Để kiểm tra chữ hoa bạn đổi nó thành str. == str .

Làm cách nào để chuyển đổi chữ cái đầu tiên của mỗi từ thành chữ hoa trong JavaScript?

VÍ DỤ 1 .
chức năng viết hoa [đầu vào] {
var từ = đầu vào. tách ra[' '];
var CapitalizedWords = [];
từ ngữ. forEach[phần tử => {
Viết hoaTừ. đẩy [phần tử [0]. toUpperCase[] + phần tử. lát [1, phần tử. chiều dài]];
trả lại các từ viết hoa. tham gia[' '];

Làm cách nào để sử dụng chữ hoa trong JavaScript?

Phương thức toUpperCase[]. Để sử dụng. toUpperCase[], hãy gán chuỗi bạn muốn thay đổi thành chữ hoa cho một biến và sau đó thêm chuỗi đó vào trước. Đến trường hợp trên[]

Chủ Đề