Apa pendekatan terbaik untuk menggunakan huruf besar dalam string?
javascript
string
capitalization
vsync
sumber
sumber
text-transform:capitalize;
.Jawaban:
sumber
'CHECK THIS OUT'.capitalize(true) -> "Check This Out"
,.true
Parameter pikiran .Implementasi terpendek untuk huruf kapital dalam string adalah berikut ini menggunakan fungsi panah ES6:
Implementasi yang kompatibel dengan ES5:
Regex pada dasarnya cocok dengan huruf pertama dari setiap kata dalam string yang diberikan dan hanya mengubah huruf itu menjadi huruf besar:
Untuk karakter non-ASCII, rujuk solusi ini
Regex ini cocok dengan huruf pertama dan setiap huruf non-spasi putih didahului dengan spasi putih dalam string yang diberikan dan hanya mengubah huruf itu menjadi huruf besar:
Grup yang tidak menangkap bisa digunakan di sini sebagai berikut
/(?:^|\s)\S/g
meskipung
bendera dalam regex kami tidak akan menangkap sub-kelompok dengan desain.Bersulang!
sumber
päijät-häme
menjadiPäIjäT-HäMe
EisbäRen
adalah salah satu hasilnya, misalnya.Päijät-Häme
, tetapi setidaknya di ruang putih Chrome tidak menyertakan tanda hubung (-), sehingga bagian kedua nama tersebut tidak ditulis dengan huruf besar . Dapat diperbaiki sebagai/(^|\s|-)\S/g
.output: "Ini String Terburuk Yang Pernah Ada"
Memperbarui:
Tampaknya solusi ini menggantikan milik saya: https://stackoverflow.com/a/7592235/104380
sumber
The jawaban yang diberikan oleh vsync bekerja selama Anda tidak memiliki huruf beraksen dalam string masukan.
Saya tidak tahu alasannya, tetapi ternyata
\b
dalam pertandingan regexp juga beraksen huruf (diuji pada IE8 dan Chrome), jadi string seperti"località"
akan salah kapitalisasi dikonversi menjadi"LocalitÀ"
(à
huruf kapital akan huruf tersebut dikapitalisasi karena regexp menganggap itu kata batas)Fungsi yang lebih umum yang berfungsi juga dengan huruf beraksen adalah yang ini:
Anda bisa menggunakannya seperti ini:
sumber
" javascript".toCapitalize() -> " javascript"
Karena semua orang telah memberi Anda jawaban JavaScript yang Anda minta, saya akan memasukkan properti CSS itu
text-transform: capitalize
akan melakukan ini.Saya menyadari ini mungkin bukan yang Anda minta - Anda belum memberi kami salah satu konteks di mana Anda menjalankan ini - tetapi jika itu hanya untuk presentasi, saya pasti akan menggunakan alternatif CSS.
sumber
John Resig (dari jQuery fame) mem-porting skrip perl, ditulis oleh John Gruber, ke JavaScript. Skrip ini menggunakan huruf kapital dengan cara yang lebih cerdas, misalnya, huruf kapital tidak menggunakan huruf kecil seperti 'dari' dan 'dan'.
Anda dapat menemukannya di sini: Kapitalisasi Judul dalam JavaScript
sumber
Menggunakan JavaScript dan html
Pada dasarnya, Anda dapat melakukannya
string.capitalize()
dan itu akan menggunakan huruf kapital setiap huruf pertama dari setiap kata.Sumber: http://www.mediacollege.com/internet/javascript/text/case-capitalize.html
sumber
if (object.capitalize) {...} else {String.prototype.capitalize = function()....}
di mana objek bertipeString
. Jadi, sebenarnya cukup sederhana.Jawaban Ivo baik, tetapi saya lebih suka tidak cocok
\w
karena tidak perlu menggunakan huruf kapital 0-9 dan AZ. Kita bisa mengabaikannya dan hanya cocok dengan az.Ini hasil yang sama, tapi saya pikir lebih jelas dalam hal kode dokumentasi diri.
sumber
"Är Toaletten"
. Jawaban Anda, bertahun-tahun setelah jawaban yang sangat baik diberikan, tidak berkontribusi pada diskusi ../\b\w/g
juga gagal untuk huruf non-Inggris. Tidak semua orang berurusan dengan karakter unicode, dan ini akan membantu mereka yang ingin tidak.Jika Anda menggunakan lodash dalam aplikasi JavaScript Anda, Anda dapat menggunakan _.kapitalisasi :
sumber
Cara ES6 ringkas untuk melakukannya mungkin terlihat seperti ini.
Ini hanya memperkuat huruf pertama dan tidak memengaruhi casing selebihnya.
sumber
Solusi saya:
Contoh:
sumber
'a áAA. bb . bbb .cc .d'.toCapital();
=>a Áaa. bb . Bbb .cc .d
Ini harus mencakup sebagian besar kasus penggunaan dasar.
Sunting: Peningkatan keterbacaan pemetaan.
sumber
/\b\w/g
...Dosis solusi ini tidak menggunakan regex, mendukung karakter beraksen dan juga didukung oleh hampir setiap browser.
Pemakaian:
Keluaran:
sumber
http://www.mediacollege.com/internet/javascript/text/case-capitalize.html adalah salah satu dari banyak jawaban di luar sana.
Google dapat menjadi semua yang Anda butuhkan untuk masalah seperti itu.
Pendekatan naif adalah dengan membagi string dengan spasi, huruf besar huruf pertama dari setiap elemen dari array yang dihasilkan dan bergabung kembali bersama-sama. Ini meninggalkan kapitalisasi yang ada sendirian (mis. HTML tetap HTML dan tidak menjadi sesuatu yang konyol seperti Html). Jika Anda tidak menginginkannya, ubah seluruh string menjadi huruf kecil sebelum membaginya.
sumber
Kode ini menggunakan huruf kapital kata setelah titik:
sumber
Saya suka pergi dengan proses yang mudah. Pertama Ubah string menjadi Array untuk iterasi mudah, kemudian menggunakan fungsi peta mengubah setiap kata seperti yang Anda inginkan.
sumber
Jquery atau Javascipt tidak menyediakan metode bawaan untuk mencapai ini.
Transformasi uji CSS (text-transform: capitalize;) tidak benar-benar memanfaatkan data string tetapi menunjukkan rendering yang dikapitalisasi di layar.
Jika Anda mencari cara yang lebih sah untuk mencapai ini di tingkat data menggunakan vanillaJS biasa, gunakan solusi ini =>
sumber
Gunakan ini:
sumber
Anda dapat menggunakan yang berikut ini untuk menggunakan huruf besar dalam string:
sumber
Ada juga locutus: https://locutus.io/php/strings/ucwords/ yang mendefinisikannya seperti ini:
sumber
Saya akan menggunakan regex untuk tujuan ini:
sumber