Chất nền javascript


Trong lập trình web, chúng ta sẽ làm rất nhiều việc với các chuỗi như đếm độ dài, cắt chuỗi, chuyển đổi, tìm kiếm. đây là những nhiệm vụ thường xuyên nên nếu tự viết phương thức thì cực kỳ dị

> Tham khảo ngay KHÓA HỌC LẬP TRÌNH WEB (Full Stack) nếu bạn quyết định theo học lập trình web bài viết từ đầu

> Hoặc đi chuyên sâu về Front end với KHÓA HỌC FRONT END (React. js) dưới sự hướng dẫn của chuyên gia doanh nghiệp

May mắn thay, JavaScript hỗ trợ có sẵn một số phương thức giúp chúng ta thao tác với chuỗi nhanh hơn, thuận lợi hơn

3. 1. Dem length of string in JS

Thuộc tính sử dụng thuộc tính length để trả về độ dài của một chuỗi trong JavaScript


let thongBao = "Học thao tác với chuỗi trong JS";

let doDai = thongBao. chiều dài;

tài liệu. write("Độ dài của chỗi là. " + doDai);

3. 2. Search for a string in string

Phương thức indexOf() trả về chỉ mục (vị trí) của chuỗi trùng khớp được tìm thấy đầu tiên


// Tìm vị trí của một chuỗi

let thongBao = "Học thao tác với chuỗi trong JS";

let viTri = thôngBao. indexOf("JS");

tài liệu. write("Vị trí của chuỗi 'JS' là. " + viTri);

JavaScript sẽ đếm vị trí từ số 0 (Giống như các ngôn ngữ lập trình khác), như hình minh họa dưới đây

Chất nền javascript

  • 0 is the first position of string
  • 1, 2, 3…. is the next position in string

Phương thức lastIndexOf() trả về vị trí sau cùng của chuỗi được tìm thấy trong chuỗi gốc


// Tìm vị trí của một chuỗi

// mà nó xuất hiện cuối cùng trong một chuỗi

let thongBao = "JS Bài 6. Thao tác với chuỗi trong JS";

let viTri = thôngBao. lastIndexOf("JS");

tài liệu. write("Vị trí của chuỗi 'JS' cuối cùng là. " + viTri);

Cả hai phương thức này sẽ mô tả về -1 nếu không tìm thấy chuỗi cần tìm trong chuỗi gốc

Cả hai phương thức đều chấp nhận tham số thứ 2 để bạn có thể tùy chọn tìm kiếm

Phương thức indexOf() sẽ tìm kiếm từ tham số thứ 2 đến hết chuỗi


// Tìm chuỗi JS trong khoảng từ 10 đến hết chuỗi

let thongBao = "JS Bài 6. Thao tác với chuỗi trong JS";

let viTri = thôngBao. indexOf("JS", 10);

Phương thức lastIndexOf() sẽ tìm kiếm từ 0 đến tham số thứ 2 mà bạn truyền vào


// Tìm chuỗi JS trong khoảng từ 0 đến 10

let thongBao = "JS Bài 6. Thao tác với chuỗi trong JS";

let viTri = thôngBao. lastIndexOf("JS", 10);

Tuy nhiên, trong một số trường hợp indexOf()lastIndexOf() lại không có ưu tiên thế nào, chẳng hạn như đang tìm kiếm với biểu thức chính quy (ReExp)

Chính vì thế, chúng ta có phương thức search()


let thongBao = "JS Bài 6. Thao tác với chuỗi trong JS";

// Tìm vị trí của số bất kỳ xuất hiện trong chuỗi

// Trả về vị trí của số đầu đầu tiên tìm thấy

let viTri = thôngBao. tìm kiếm("[0-9]");

Còn về tìm kiếm thông thường search thì phương thức search() vẫn có thể làm tốt tương tự indexOf hoặc lastIndexOf


let thongBao = "JS Bài 6. Thao tác với chuỗi trong JS";

let viTri = thôngBao. tìm kiếm ("JS");

Chỉ có điều khiển là phương thức search() không chấp nhận đối số thứ 2 làm vị trí bắt đầu tìm kiếm (Có thể truyền vào, không biên dịch lỗi nhưng không có tác dụng)

3. 3. Cut a string with slice()

Phương thức slice() sẽ cắt một chuỗi con trong một chuỗi trả về chuỗi con đó trong một chuỗi mới

Phương thức này cần 2 tham số. (vị trí) chỉ số bắt đầu và (vị trí) chỉ số kết thúc


chuỗi. slice(vitriBatDau, viTriKetThuc);

Ví dụ, cắt một chuỗi từ vị trí thứ 7 đến 10 (không bao gồm các ký tự ở vị trí thứ 10)


// Cắt ra một chuỗi sử dụng slice()

let thuongHieu = "NIIT - ICT Hà Nội";

let ict = thuongHieu. lát(7, 10);

Kết quả

Phương thức này cũng chấp nhận số âm thanh, vị trí sẽ được tính từ cuối chuỗi

Ví dụ


// Cắt 3 ký tự tính từ cuỗi chuỗi đúng lại

let thuongHieu = "NIIT - ICT Hà Nội";

let ict = thuongHieu. lát(-3);


3. 4. Cut a string with substring()

Phương thức indexOf()0 cũng thực hiện cắt chuỗi tương tự như slice(). Điều khác là chuỗi con() sẽ không nhận vào chỉ số âm thanh

Ví dụ


// Cắt một chuỗi từ vị trí thứ 7 đến 10 (không bao gồm 10)

let thuongHieu = "NIIT - ICT Hà Nội";

let ict = thuongHieu. chuỗi con(7, 10);


If you try to transfer to only sound


let thuongHieu = "NIIT - ICT Hà Nội";

let ict = thuongHieu. chuỗi con(-3);

// Kết quả. NIIT - ICT Hà Nội

indexOf()1 sẽ không trả lại kết quả như bạn mong muốn

3. 5. Cut a string with substr()

Phương thức substr() cũng tương tự như slice() được sử dụng để cắt một chuỗi mới từ chuỗi đã cho

Điểm khác của indexOf()2 chỉ là số thứ hai quy định độ dài của phần được trích xuất (không phải là vị trí kết thúc như indexOf()3)


// Cut 3 ký tính tính từ vị trí thứ 7

let thuongHieu = "NIIT - ICT Hà Nội";

let ict = thuongHieu. chất nền(7, 3);


Còn nếu bỏ qua tham số thứ hai thì nó sẽ cắt đến hết chuỗi


// Cut chuỗi tính từ vị trí trí thứ 7 đến hết

let thuongHieu = "NIIT - ICT Hà Nội";

let ict = thuongHieu. lát (7);


3. 7. Replace a string with replace()

Phương thức thay thế () thay thế một giá trị được chỉ định bằng một giá trị khác trong một chuỗi

var cachDiTanGai = "Có tấm lòng";

var cachBiGaiTan = cachDiTanGai. replace("tấm lòng", "BMW");

tài liệu. ghi(cachBiGaiTan);


Khi đó chuỗi indexOf()4 sẽ có giá trị là. indexOf()5

Default thì hàm indexOf()6 only instead value value is found first. Và hàm này cũng phân biệt chuỗi viết hoa và viết thường

Có nghĩa là, bạn phải truyền chuỗi cần thay thế chính xác 100% nếu muốn thay thế đúng

3. 8. Chuyển chuỗi HOA - normal

Một thực tế tốt khi thiết kế các chức năng lấy dữ liệu từ người dùng, nếu bạn muốn chuỗi này khi hiển thị ra là chữ HOA

Tốt nhất, luôn thực hiện chuyển nó thành chữ viết HOA qua phương thức thànhUpperCase() (Chứ không yêu cầu người dùng nhập chữ viết HOA)


// Giả sử đây là tên do người dùng nhập

let tenHocVien = "Đặng Ngọc anh";

//  Hiện giờ, chuyển nó thành viết HOA

cho tenHocVien_HOA = tenHocVien. Đến trường hợp trên();

tài liệu. ghi(tenHocVien_HOA);

// Kết quả. ĐẶNG NGỌC ANH

Ngược lại, bạn cũng có thể chuyển đổi tất cả các chuỗi thành chữ viết thường với phương thức thànhLowerCase()


// Giả sử đây là tên do người dùng nhập

let tenHocVien = "Đặng Ngọc anh";

//  Hiện giờ, chuyển đổi nó thành viết thường

cho tenHocVien_HOA = tenHocVien. toLowerCase()

tài liệu. ghi(tenHocVien_HOA);

// Kết quả. đế ngọc anh

3. 9. Nối chuỗi với concat()

Phương thức concat() trong JavaScript này kết hợp hoặc nhiều chuỗi với nhau. Có thể hiểu là chuỗi toán học tương tự như sử dụng tử số indexOf()7


let hoVaTenDem = "Đặng Ngọc";

let hoVaTen = hoVaTenDem. concat(" ", ten);

Phương thức indexOf()8 this lấy các tham số được truyền vào nối vào sau chuỗi hoVaTenDem và trả về kết quả

Tuy nhiên, nó không làm thay đổi hoVaTenDem, lúc này, hãy thử kiểm tra lại giá trị của hoVaTenDem xem sao nhé


// Sau khi đã thực hiện concat()

tài liệu. ghi(hoVaTenDem);


Cách thức của phương thức indexOf()9 tương thích


let hoVaTen = hoVaTenDem + " " + ten;

3. 10. Loại bỏ khoảng trắng ở đầu và chuỗi lỗi với phương thức trim()

Khi lấy dữ liệu từ người dùng, do người dùng thông thường sẽ nhập thừa dấu cách (dấu cách) ở đầu và cuối chuỗi. Do đó, chúng ta cần phải loại bỏ nó trước khi sử dụng

Phương thức lastIndexOf()0 này loại bỏ những khoảng trắng thừa ở cả hai đầu của chuỗi theo cách như sau


// nhập thừa khoảng trắng ở đầu, cuối chuỗi

let input = "       Đặng Ngọc Anh        ";

// Kiểu bỏ bằng phương thức trim()

// Kết quả. Đặng Ngọc Anh

3. 11. Get character at the position only by charAt()

Phương thức charAt() này thì đơn giản là sẽ trả về một ký tự nằm ở vị trí chỉ định

Ví dụ


let input = "Đặng Ngọc Anh";

let hoVaTen = đầu vào. charAt(0);


3. 12. Get the character code in the position was fixed

Phương thức charCodeAt() này khác ở phương thức lastIndexOf()1 ở chỗ là nó sẽ trả về mã unicode của một ký tự nằm ở vị trí chỉ định chuỗi trong khi không phải là một ký tự

Phương thức trả về mã lastIndexOf()2 dưới dạng một số nguyên trong khoảng từ 0 lastIndexOf()3 65535


let input = "Đặng Ngọc Anh";

let hoVaTen = đầu vào. charCodeAt(0);


3. 12. Truy cập chuỗi như một mảng

Trong phiên bản ECMAScript 5 (phiên bản 2009), JavaScript đã cho phép truy cập chuỗi tương tự theo cách truy cập mảng

Chúng ta sẽ sử dụng ký hiệu lastIndexOf()4


let hoVaTen = "Đặng Ngọc Anh";

tài liệu. ghi(hoVaTen[0]);


Một số lưu ý

  • Nó làm các chuỗi giống như một mảng (sẽ được học trong bài sau) nhưng bản chất của chúng không phải là mảng
  • Nếu không có bất kỳ ký tự nào được tìm thấy, sẽ trả về lastIndexOf()5, trong khi charAt() trả về một chuỗi rỗng
  • Lệnh gán. lastIndexOf()6 sẽ không báo lỗi, nhưng không được chỉ định (không có tác dụng làm thay đổi chuỗi)

3. 13. Move a string to a array

Nếu bạn muốn thao tác chuỗi dưới dạng mảng thực thụ, thì bạn có thể chuyển chuỗi thành mảng bằng phương thức lastIndexOf()7