Rumah >hujung hadapan web >tutorial js >Memanfaatkan huruf pertama setiap perkataan di keypress

Memanfaatkan huruf pertama setiap perkataan di keypress

Lisa Kudrow
Lisa Kudrowasal
2025-03-04 00:07:17601semak imbas

Capitalize First Letter of Every Word on Keypress

Coretan jQuery ini memanfaatkan huruf pertama setiap perkataan dalam rentetan. Ia berguna untuk input bentuk, menghalang tajuk atau teks semua-caps.

// Usage: Attaches to keyup event of all input fields
$("input").keyup(function() {
  toUpper(this);
});

// Function: Capitalizes the first letter of each word
function toUpper(obj) {
  let mystring = obj.value;
  let sp = mystring.split(' ');
  let word = [];
  for (let i = 0; i < sp.length; i++) {
    let f = sp[i].substring(0, 1).toUpperCase();
    let r = sp[i].substring(1).toLowerCase();
    word[i] = f + r;
  }
  let newstring = word.join(' ');
  obj.value = newstring;
  return true;
}

Soalan Lazim (Soalan Lazim) pada Permodalan String JavaScript

Berikut adalah beberapa pendekatan untuk memanfaatkan huruf pertama rentetan atau setiap perkataan dalam rentetan menggunakan pelbagai kaedah JavaScript.

1. Memanfaatkan huruf pertama dengan : slice()

Kaedah ringkas ini menggunakan

untuk mendapatkan watak pertama, menukarnya ke huruf besar dengan charAt(0), dan menggabungkannya dengan seluruh rentetan menggunakan toUpperCase(). slice(1)

function capitalizeFirstLetter(str) {
  return str.charAt(0).toUpperCase() + str.slice(1);
}

2. Memanfaatkan setiap perkataan dengan , split(), dan map(): join()

Pendekatan ini memecah rentetan ke dalam kata -kata, memanfaatkan huruf pertama setiap perkataan menggunakan fungsi

, dan kemudian bergabung dengan mereka kembali bersama. map()

function capitalizeWords(str) {
  return str.split(' ').map(word => capitalizeFirstLetter(word)).join(' ');
}

3. vs toUpperCase(): toLocaleUpperCase()

Walaupun kedua-duanya menukar ke huruf besar,

menganggap peraturan khusus locale, yang berpotensi berbeza dari toLocaleUpperCase() untuk bahasa dengan peraturan permodalan yang unik (mis., Turki). toUpperCase()

4. Memanfaatkan huruf pertama tanpa (menggunakan ASCII): toUpperCase()

Kaedah ini memanfaatkan nilai ASCII. Huruf kecil (a-z) mempunyai nilai ASCII 97-122, huruf besar (a-z) 65-90. Mengurangkan 32 menukar huruf kecil ke huruf besar.

function capitalizeFirstLetterASCII(str) {
  let firstLetter = str.charCodeAt(0);
  if (firstLetter >= 97 && firstLetter <= 122) {
    firstLetter -= 32;
  }
  return String.fromCharCode(firstLetter) + str.slice(1);
}

5. Memanfaatkan huruf pertama dengan ungkapan biasa:

Ekspresi biasa menawarkan penyelesaian yang kuat, walaupun berpotensi kurang dibaca.

sepadan dengan watak pertama. ^(.)

function capitalizeFirstLetterRegex(str) {
  return str.replace(/^(.)/, (match) => match.toUpperCase());
}

6. Memanfaatkan huruf pertama dengan : substring()

serupa dengan

, slice() mengekstrak sebahagian daripada rentetan. substring()

function capitalizeFirstLetterSubstring(str) {
  return str.substring(0, 1).toUpperCase() + str.substring(1);
}

7. Memanfaatkan huruf pertama dengan : charAt()

Ini berfungsi sama dengan contoh

. slice()

function capitalizeFirstLetterCharAt(str) {
  return str.charAt(0).toUpperCase() + str.slice(1);
}

8. Memanfaatkan huruf pertama dengan (aksara demi karakter): split()

Ini memisahkan rentetan ke dalam aksara individu, memanfaatkan yang pertama, dan menyertai semula. Kurang cekap daripada kaedah lain.

function capitalizeFirstLetterSplit(str) {
  let arr = str.split('');
  arr[0] = arr[0].toUpperCase();
  return arr.join('');
}

9. Memanfaatkan huruf pertama dengan : replace()

ini menggunakan

untuk menyasarkan dan menggantikan watak pertama. replace()

function capitalizeFirstLetterReplace(str) {
  return str.replace(/^./, str[0].toUpperCase());
}

10. Memanfaatkan huruf pertama dengan : concat()

ini menggabungkan watak pertama huruf besar dengan selebihnya rentetan.

// Usage: Attaches to keyup event of all input fields
$("input").keyup(function() {
  toUpper(this);
});

// Function: Capitalizes the first letter of each word
function toUpper(obj) {
  let mystring = obj.value;
  let sp = mystring.split(' ');
  let word = [];
  for (let i = 0; i < sp.length; i++) {
    let f = sp[i].substring(0, 1).toUpperCase();
    let r = sp[i].substring(1).toLowerCase();
    word[i] = f + r;
  }
  let newstring = word.join(' ');
  obj.value = newstring;
  return true;
}

Semua kaedah ini mencapai hasil asas yang sama, tetapi kecekapan dan kebolehbacaan mereka mungkin berbeza -beza. Kaedah slice() dan charAt() umumnya lebih disukai untuk kesederhanaan dan kecekapan mereka apabila memanfaatkan hanya huruf pertama. Untuk memanfaatkan semua huruf pertama kata -kata, kombinasi split(), map(), dan join() menyediakan penyelesaian yang bersih dan boleh dibaca.

Atas ialah kandungan terperinci Memanfaatkan huruf pertama setiap perkataan di keypress. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn