+6

Làm thế nào để kiểm tra String bắt đầu với một ký tự cụ thể

Hi xin chào các bạn lại là mình đây, tiếp tục chủ đề với JavaScript, cụ thể là làm việc với string hôm nay chúng ta cùng thảo luận về chủ đề "Làm thế nào để kiểm tra String bắt đầu với một ký tự cụ thể". Đầu đuôi câu chuyện như nào hãy cùng kéo xuống dưới để tìm hiểu nhé (go)

Xuyên suốt bài viết hôm nay, chúng ta sẽ đi giải quyết bài toán "Làm thế nào để kiểm tra được từ J có phải bắt đầu trong chuỗi JavaScript hay không"

Cách 1. Sử dụng method String.prototype.startsWith()

Chắc chắn đây là method dễ hiểu và dễ sử dụng nhất, nên không cần giới thiệu nhiều, startsWith() trả về giá trị true nếu match và false nếu không

const word = 'JavaScript';
const char = 'J';

word.startsWith(char); // true

Tuy nhiên bạn hãy lưu ý phương thức này không support anh bạn IE nên để work perfect trên nhiều trình duyệt ta cần sử dụng polyfill sau

if (!String.prototype.startsWith) {
  Object.defineProperty(String.prototype, 'startsWith', {
    value: function(search, rawPos) {
      var pos = rawPos > 0 ? rawPos | 0 : 0;
      return this.substring(pos, pos + search.length) === search;
    }
  });
}

Cách 2. Sử dụng indexOf()

Phương thức này trả về vị trí của ký tự trong chuỗi, như vậy muốn biết ký tự J có nằm ở đầu chuỗi hay không ta cót như sau

const word = 'JavaScript';
const char = 'J';

word.indexOf(char) === 0 // true

Cách 3. Sử dụng lastIndexOf()

lastIndexOf() nhận vào 2 tham số là từ khóa cần tìm kiếm và index. Như vậy để giải quyết bài toán trên ta có thể làm như sau

const word = 'JavaScript';
const char = 'J';

word.lastIndexOf(char, 0) === 0 // true

Cách 4. Sử dụng substring()

substring()dùng để cắt chuỗi, với tham số đầu vào gồm vị trí bắt đầu và vị trí kết thúc. Như vậy ta có thể dùng hàm này cắt ra ký tự đầu và so sánh nó với ký tự cần tìm

const word = 'JavaScript';
const char = 'J';

word.substring(0, 1) === char // true

Cách 5. Sử dụng string index

Cũng tương tự như array, với string bạn cũng có thể lấy được phần tử đầu nhờ sử dụng cú pháp sau

const word = 'JavaScript';
const char = 'J';

word[0] === char // true

hoặc theo cách ngầu hơn

const word = 'JavaScript';
const char = 'J';

[...word][0] === char // true

Cách 6. Sử dụng regex

Sức mạnh của regex thì chắc không cần giới thiệu nhiều nữa, trong regex có 1 ký tự giúp bạn kiểm tra bắt đầu chuỗi là ^. Code sẽ như sau

const word = 'JavaScript';
const char = 'J';

new RegExp(`^${char}`).test(word) // true

hoặc bạn có thể viết như này

const word = 'JavaScript';
const char = 'J';

/^J/.test(word) // true

Kết luận

Trên đây mình đã giới thiệu cho các một số cách để kiểm tra chuỗi bắt đầu với một ký tự được chỉ định, nếu bạn còn cách nào hay ho hơn hãy chia sẻ cho mọi người cùng biết nhé ^^

Nếu thấy bài viết hay, hãy cho mình +1 upvote nhé. Nếu thích mình hãy nhấn nút follow để biết thêm nhiều thứ hay ho hơn. Chúc bạn thành công


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí