Kiểm tra ký tự trong chuỗi javascript

Hướng dẫn cách kiểm tra ký tự trong JavaScript. Bạn sẽ học được các cách kiểm tra ký tự có tồn tại trong chuỗi JavaScript hay không sau bài viết này.

Chúng ta có 3 cách kiểm tra ký tự có tồn tại trong chuỗi JavaScript hay không như sau:

  • Sử dụng phương thức includes() để kiểm tra trực tiếp sự tồn tại của ký tự trong chuỗi
  • Sử dụng phương thức indexOf hoặc lastIndexOf để kiểm tra gián tiếp sự tồn tại của ký tự trong chuỗi
  • Sử dụng hàm seacrch() và hàm test() trong đối tượng biểu thức chính quy (regular expression)

Lại nữa, phương thức includes() sẽ kiểm tra một chuỗi ký tự có tồn tại trong chuỗi ban đầu hay không và trả về giá trị True hoặc False. Nếu bạn muốn kiểm tra và tìm cả vị trí của chuỗi ký tự trong một chuỗi, hãy sử dụng trực tiếp các phương thức indexOf() và lastIndexOf() nhé.

  • Xem thêm: Tìm ký tự trong chuỗi JavaScript (indexOf, lastIndexOf)

Kiểm tra ký tự có tồn tại trong chuỗi JavaScript bằng phương thức includes

includes() trong JavaScript là một phương thức của đối tượng String, có tác dụng kiểm tra ký tự chỉ định có tồn tại trong chuỗi hay không. Nếu tìm thấy ký tự thì giá trị true (đúng) sẽ được trả về và ngược lại, nếu không tìm thấy ký tự trong chuỗi thì false (sai) sẽ được trả về.

Chúng ta sử dụng phương thức includes trong JavaScript với cú pháp sau đây:

str.includes (sub [, index_start] )

Trong đó:

  • sub là chuỗi ký tự cần tìm trong chuỗi str, và có phân biệt chữ hoa chữ thường.
  • index_start là vị trí index bắt đầu tìm kiếm chuỗi sub trong chuỗi str. Và đối số này có thể được lược bỏ.

Thông thường chúng ta lược bỏ đi đối số index_start để tiến hành tìm kiếm ký tự chỉ định trên toàn chuỗi ban đầu. Chỉ trong các trường hợp chúng ta muốn kiểm tra trong một phạm vi từ vị trí cụ thể nào đó cho tới cuối chuỗi ban đầu thì mới dùng thêm index_start mà thôi.

Sau đây hãy cùng xem các ví dụ cụ thể sử dụng phương thức includes() để kiểm tra chuỗi trong javascript như sau:

Ví dụ 1: kiểm tra một ký tự có tồn tại trong chuỗi JavaScrip hay không

console.log("dictionary".includes("i"));


console.log("dictionary".includes("x"));

Ví dụ 2: kiểm tra một chuỗi ký tự có tồn tại trong chuỗi JavaScrip hay không

console.log("dictionary".includes("io"));


console.log("dictionary".includes("xyz"));

Ví dụ 3: kiểm tra một chuỗi ký tự có tồn tại trong phạm vi từ một vị trí đến cuối chuỗi JavaScrip hay không

console.log("dictionary".includes("io", 2)); 


console.log("dictionary".includes("io", 5));

Lưu ý là có sự phân biệt chữ hoa chữ thường trong ký tự tìm kiếm khi chúng ta kiểm tra ký tự có tồn tại bằng phương thức includes(). Và cả thứ tự chữ cái của chúng cũng cần phải đảm bảo giống với thứ tự trong chuỗi ban đầu.

console.log("dictionary".includes("io"));



console.log("dictionary".includes("Io"));



console.log("dictionary".includes("oi"));

Kiểm tra ký tự có tồn tại trong chuỗi JavaScript bằng phương thức indexOf() và lastIndexOf()

Trong bài trước chúng ta đã biết phương thức indexOf() và lastIndexOf() trong JavaScript sẽ trả về vị trí tìm thấy của ký tự chỉ định trong chuỗi ban đầu, và nếu ký tự đó không tồn tại thì giá trị -1 sẽ được trả về.

  • Xem thêm: Kiểm tra và tìm ký tự trong chuỗi JavaScript (includes, lastIndexOf)

Ứng dụng điều này, chúng ta cũng có thể sử dụng hai phương pháp trên để kiểm tra ký tự có tồn tại trong chuỗi JavaScript hay không.

Ý tưởng ở đây là sẽ kiểm tra kết quả hai phương thức trên, nếu khác -1 nghĩa là ký tự chỉ định có tồn tại, và nếu kết quả bằng -1 thì có nghĩa là ký tự chỉ định không tồn tại trong chuỗi ban đầu. Chúng ta cùng xem các ví dụ cụ thể sau đây:

Ví dụ 1: Kiểm tra ký tự có tồn tại trong chuỗi JavaScript bằng phương thức indexOf()

function check_string(str,sub){
let check = str.indexOf(sub);
if (check == -1){return false}else{return true}

}

console.log(check_string("JavaScript","Python"))


console.log(check_string("JavaScript",""))

Ví dụ 2: Kiểm tra ký tự có tồn tại trong chuỗi JavaScript bằng phương thức lastIndexOf()

function check_string(str,sub){
let check = str.lastIndexOf(sub);
if (check == -1){return false}else{return true}

}

console.log(check_string("JavaScript","Python"))


console.log(check_string("JavaScript",""))

Kiểm tra ký tự có tồn tại trong chuỗi JavaScript bằng biểu thức chính quy (RegEx)

Chúng ta cũng có thể sử dụng các hàm như search() và test() trong đối tượng Biểu thức chính quy để kiểm tra ký tự có tồn tại trong chuỗi JavaScript hay không.

Sử dụng hàm seacrch() để kiểm tra ký tự có tồn tại trong chuỗi JavaScript

Hàm search() trong đối tượng biểu thức chính quy của JavaScript sẽ tìm kiếm một ký tự dựa vào RegEx của ký tự đó trong chuỗi ban đầu. Tương tự với phương thức indexOf() thì hàm cũng trả về kết quả -1 nếu không tìm thấy ký tự, và một giá trị là index trong chuỗi nếu tìm thấy ký tự trong chuỗi ban đầu.

Chúng ta có thể sử dụng hàm seacrch() để kiểm tra ký tự có tồn tại trong chuỗi JavaScript đơn giản như sau:

let string = "I love you";
if (string.search(/love/) !== -1){
console.log("Tồn tại");
}else console.log("Không tồn tại");


Sử dụng hàm test() để kiểm tra ký tự có tồn tại trong chuỗi JavaScript

Một cách tương tự thì chúng ta cũng có thể sử dụng hàm test() trong đối tượng biểu thức chính quy của JavaScript để thực hiện việc tìm kiếm ký tự trong chuỗi. Hàm này tương tự với phương thức includes() mà Kiyoshi đã hướng dẫn ở trên, sẽ trả về true nếu tìm thấy và false nếu như không tìm thấy ký tự đã cho trong chuỗi ban đầu.

Chúng ta có thể sử dụng hàm test() để kiểm tra ký tự có tồn tại trong chuỗi JavaScript đơn giản như sau:

let pattern = /(fa|mo)ther/;

if ( pattern.test('I am your father.') == true) {
console.log('Tồn tại');
}else console.log('Không tồn tại')


Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn các cách kiểm tra ký tự có tồn tại trong chuỗi JavaScript hay không rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về JavaScript trong các bài học tiếp theo.

Viết bởi Kiyoshi. Đã đăng ký bản quyền tác giả tại &lt;a title="Bạn được tự do chia sẻ bài viết nhưng phải để lại đường link bài viết từ laptrinhcanban.com. Bạn không được sử dụng tài liệu cho mục đích thương mại. Không được phép chỉnh sửa nội dung được phát hành trên website của chúng tôi" style="color:#fff;background-color:silver" rel="license noopener" target="_blank" href="https://creativecommons.org/licenses/by-nc-nd/4.0/"&gt;Creativecommons&lt;/a&gt;&amp;nbsp;và &lt;a title="Bạn được tự do chia sẻ bài viết nhưng phải để lại đường link bài viết từ laptrinhcanban.com. Bạn không được sử dụng tài liệu cho mục đích thương mại. Không được phép chỉnh sửa nội dung được phát hành trên website của chúng tôi" style="color:#fff;background-color:silver" target="_blank" rel="noopener" href="https://www.dmca.com/Protection/Status.aspx?ID=1631afcd-7c4a-467d-8016-402c5073e5cd" class="dmca-badge"&gt;DMCA&lt;/a&gt;&lt;script src="https://images.dmca.com/Badges/DMCABadgeHelper.min.js"&gt;</p><h3 style="font-size:15px">Bài viết liên quan</h3><ul class="popular-posts"><li class="popular-posts-item"><div class="popular-posts-title"><h3><a target="_blank" href="https://laptrinhcanban.com/javascript/javascript-co-ban-den-nang-cao/chuoi-trong-javascript/chuyen-chu-hoa-thanh-chu-thuong-trong-javascript/" title="Chuyển chữ hoa thành chữ thường và ngược lại trong JavaScript (toLowerCase, toUpperCase)" rel="bookmark">Chuyển chữ hoa thành chữ thường và ngược lại trong JavaScript (toLowerCase, toUpperCase)</a></h3></div></li><li class="popular-posts-item"><div class="popular-posts-title"><h3><a target="_blank" href="https://laptrinhcanban.com/javascript/javascript-co-ban-den-nang-cao/chuoi-trong-javascript/chen-ky-tu-vao-chuoi-trong-javascript/" title="Chèn ký tự vào chuỗi trong JavaScript" rel="bookmark">Chèn ký tự vào chuỗi trong JavaScript</a></h3></div></li><li class="popular-posts-item"><div class="popular-posts-title"><h3><a target="_blank" href="https://laptrinhcanban.com/javascript/javascript-co-ban-den-nang-cao/chuoi-trong-javascript/cat-chuoi-trong-javascript-substring/" title="Cắt chuỗi trong JavaScript (javascript substring)" rel="bookmark">Cắt chuỗi trong JavaScript (javascript substring)</a></h3></div></li><li class="popular-posts-item"><div class="popular-posts-title"><h3><a target="_blank" href="https://laptrinhcanban.com/javascript/javascript-co-ban-den-nang-cao/chuoi-trong-javascript/dao-nguoc-chuoi-trong-javascript/" title="Đảo ngược chuỗi trong JavaScript" rel="bookmark">Đảo ngược chuỗi trong JavaScript</a></h3></div></li><li class="popular-posts-item"><div class="popular-posts-title"><h3><a target="_blank" href="https://laptrinhcanban.com/javascript/javascript-co-ban-den-nang-cao/chuoi-trong-javascript/cat-chuoi-trong-javascript-slice/" title="Cắt chuỗi trong JavaScript (slice)" rel="bookmark">Cắt chuỗi trong JavaScript (slice)</a></h3></div></li><li class="popular-posts-item"><div class="popular-posts-title"><h3><a target="_blank" href="https://laptrinhcanban.com/javascript/javascript-co-ban-den-nang-cao/chuoi-trong-javascript/do-dai-chuoi-trong-javascript/" title="Độ dài chuỗi trong JavaScript" rel="bookmark">Độ dài chuỗi trong JavaScript</a></h3></div></li><li class="popular-posts-item"><div class="popular-posts-title"><h3><a target="_blank" href="https://laptrinhcanban.com/javascript/javascript-co-ban-den-nang-cao/chuoi-trong-javascript/chuyen-chuoi-thanh-mang-trong-javascript/" title="Chuyển chuỗi thành mảng trong JavaScript" rel="bookmark">Chuyển chuỗi thành mảng trong JavaScript</a></h3></div></li><li class="popular-posts-item"><div class="popular-posts-title"><h3><a target="_blank" href="https://laptrinhcanban.com/javascript/javascript-co-ban-den-nang-cao/chuoi-trong-javascript/khai-bao-chuoi-trong-javascript/" title="Khai báo chuỗi trong JavaScript" rel="bookmark">Khai báo chuỗi trong JavaScript</a></h3></div></li></ul></div><div id="keugoi"><span>Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam!</span></div><section class="icon-bar-2" style="border-bottom:dotted grey .3px !important"><a target="_blank" title="chia sẻ qua facebook" rel="noopener noreferrer" href="https://www.facebook.com/sharer/sharer.php?u=https://laptrinhcanban.com/javascript/javascript-co-ban-den-nang-cao/chuoi-trong-javascript/kiem-tra-chuoi-trong-javascript/" class="facebook"><i class="fa fa-facebook"></i></a> <a target="_blank" rel="noopener noreferrer" href="https://twitter.com/intent/tweet?url=https://laptrinhcanban.com/javascript/javascript-co-ban-den-nang-cao/chuoi-trong-javascript/kiem-tra-chuoi-trong-javascript/" title="chia sẻ qua twitter" class="twitter"><i class="fa fa-twitter"></i></a> <a target="_blank" rel="noopener noreferrer" href="https://getpocket.com/edit?url=https://laptrinhcanban.com/javascript/javascript-co-ban-den-nang-cao/chuoi-trong-javascript/kiem-tra-chuoi-trong-javascript/" title="chia sẻ qua pocket" class="pocket"><i class="fa fa-get-pocket"></i></a> <span class="zalo-share-button" title="chia sẻ qua zalo" style="margin-left:18px;margin-bottom:-3px" data-href="https://laptrinhcanban.com/javascript/javascript-co-ban-den-nang-cao/chuoi-trong-javascript/kiem-tra-chuoi-trong-javascript/" data-oaid="579745863508352884" data-layout="3" data-color="blue" data-customize="false"></span></section><p class="ico-folder"><a target="_blank" href="https://laptrinhcanban.com/"><span itemprop="HOME">HOME</span></a><span class="sya"></span>&gt;&gt; <a target="_blank" class="article-category-link" href="https://laptrinhcanban.com/javascript/javascript-co-ban-den-nang-cao/">học javascript - lập trình javascript cơ bản</a>&gt;&gt;<a target="_blank" class="article-category-link" href="https://laptrinhcanban.com/javascript/javascript-co-ban-den-nang-cao/chuoi-trong-javascript/">02. chuỗi trong javascript</a></p><nav id="article-nav"><a target="_blank" href="https://laptrinhcanban.com/javascript/javascript-co-ban-den-nang-cao/chuoi-trong-javascript/chuyen-chu-hoa-thanh-chu-thuong-trong-javascript/" id="article-nav-older" class="article-nav-link-wrap" style="float:left;text-align:right;padding-right:20px"><strong class="article-nav-caption">Bài sau</strong><div class="article-nav-title">Chuyển chữ hoa thành chữ thường và ngược lại trong JavaScript (toLowerCase, toUpperCase)</div></a><a target="_blank" href="https://laptrinhcanban.com/javascript/javascript-co-ban-den-nang-cao/chuoi-trong-javascript/dem-so-lan-xuat-hien-cua-ky-tu-trong-chuoi-javascript/" id="article-nav-newer" class="article-nav-link-wrap" style="float:right;text-align:left;padding-left:20px"><strong class="article-nav-caption">Bài tiếp</strong><div class="article-nav-title">Đếm số lần xuất hiện của ký tự trong chuỗi JavaScript với 3 cách cơ bản</div></a><span id="ezoic-pub-ad-placeholder-611" class="ezoic-adpicker-ad"></span></nav><div id="recent_posts_down"><div class="widget_athemes_tabs"><ul id="widget-tab" class="clearfix widget-tab-nav"><li class="active">Bài viết mới nhất</li></ul><div class="widget"><ul><li class="clearfix"><div class="widget-entry-thumbnail"><a target="_blank" href="https://laptrinhcanban.com/php/nhap-mon-lap-trinh-php/chuoi-trong-php/tach-chuoi-trong-php/"><img width="60px" height="60px" class="ezlazyload attachment-thumb-small size-thumb-small wp-post-image" alt="" ezimgfmt="rs rscb2 src ng ngcb2" data-ezsrc="/css/images/thumbnail_img/laptrinhcanban45.webp"></a></div><div class="widget-entry-summary"><span style="margin:0"><a target="_blank" href="https://laptrinhcanban.com/php/nhap-mon-lap-trinh-php/chuoi-trong-php/tach-chuoi-trong-php/">Tách chuỗi trong PHP (explode, preg_split)</a></span> <span>tháng 9 17, 2022</span></div></li><li class="clearfix"><div class="widget-entry-thumbnail"><a target="_blank" href="https://laptrinhcanban.com/php/nhap-mon-lap-trinh-php/chuoi-trong-php/cat-chuoi-trong-php/"><img width="60px" height="60px" class="ezlazyload attachment-thumb-small size-thumb-small wp-post-image" alt="" ezimgfmt="rs rscb2 src ng ngcb2" data-ezsrc="/css/images/thumbnail_img/laptrinhcanban21.webp"></a></div><div class="widget-entry-summary"><span style="margin:0"><a target="_blank" href="https://laptrinhcanban.com/php/nhap-mon-lap-trinh-php/chuoi-trong-php/cat-chuoi-trong-php/">Cắt chuỗi trong PHP (substr, mb_substr)</a></span> <span>tháng 9 17, 2022</span></div></li><li class="clearfix"><div class="widget-entry-thumbnail"><a target="_blank" href="https://laptrinhcanban.com/php/nhap-mon-lap-trinh-php/chuoi-trong-php/tach-chuoi-thanh-mang-trong-php/"><img width="60px" height="60px" class="ezlazyload attachment-thumb-small size-thumb-small wp-post-image" alt="" ezimgfmt="rs rscb2 src ng ngcb2" data-ezsrc="/css/images/thumbnail_img/laptrinhcanban57.webp"></a></div><div class="widget-entry-summary"><span style="margin:0"><a target="_blank" href="https://laptrinhcanban.com/php/nhap-mon-lap-trinh-php/chuoi-trong-php/tach-chuoi-thanh-mang-trong-php/">Tách chuỗi thành mảng trong PHP (explode)</a></span> <span>tháng 9 17, 2022</span></div></li><li class="clearfix"><div class="widget-entry-thumbnail"><a target="_blank" href="https://laptrinhcanban.com/php/nhap-mon-lap-trinh-php/chuoi-trong-php/tim-kiem-chuoi-trong-php/"><img width="60px" height="60px" class="ezlazyload attachment-thumb-small size-thumb-small wp-post-image" alt="" ezimgfmt="rs rscb2 src ng ngcb2" data-ezsrc="/css/images/thumbnail_img/laptrinhcanban43.webp"></a></div><div class="widget-entry-summary"><span style="margin:0"><a target="_blank" href="https://laptrinhcanban.com/php/nhap-mon-lap-trinh-php/chuoi-trong-php/tim-kiem-chuoi-trong-php/">Tìm kiếm chuỗi trong PHP (strpos)</a></span> <span>tháng 9 17, 2022</span></div></li><li class="clearfix"><div class="widget-entry-thumbnail"><a target="_blank" href="https://laptrinhcanban.com/php/nhap-mon-lap-trinh-php/chuoi-trong-php/dem-so-lan-xuat-hien-cua-ky-tu-trong-chuoi-php/"><img width="60px" height="60px" class="ezlazyload attachment-thumb-small size-thumb-small wp-post-image" alt="" ezimgfmt="rs rscb2 src ng ngcb2" data-ezsrc="/css/images/thumbnail_img/laptrinhcanban52.webp"></a></div><div class="widget-entry-summary"><span style="margin:0"><a target="_blank" href="https://laptrinhcanban.com/php/nhap-mon-lap-trinh-php/chuoi-trong-php/dem-so-lan-xuat-hien-cua-ky-tu-trong-chuoi-php/">Đếm số lần xuất hiện của ký tự và chuỗi trong chuỗi PHP (substr_count)</a></span> <span>tháng 9 17, 2022</span></div></li><li class="clearfix"><div class="widget-entry-thumbnail"><a target="_blank" href="https://laptrinhcanban.com/php/nhap-mon-lap-trinh-php/chuoi-trong-php/chuyen-chuoi-thanh-mang-trong-php/"><img width="60px" height="60px" class="ezlazyload attachment-thumb-small size-thumb-small wp-post-image" alt="" ezimgfmt="rs rscb2 src ng ngcb2" data-ezsrc="/css/images/thumbnail_img/laptrinhcanban47.webp"></a></div><div class="widget-entry-summary"><span style="margin:0"><a target="_blank" href="https://laptrinhcanban.com/php/nhap-mon-lap-trinh-php/chuoi-trong-php/chuyen-chuoi-thanh-mang-trong-php/">Chuyển chuỗi thành mảng trong PHP (str_split, mb_str_split)</a></span> <span>tháng 9 17, 2022</span></div></li><li class="clearfix"><div class="widget-entry-thumbnail"><a target="_blank" href="https://laptrinhcanban.com/php/nhap-mon-lap-trinh-php/chuoi-trong-php/tach-tung-ky-tu-trong-chuoi-php/"><img width="60px" height="60px" class="ezlazyload attachment-thumb-small size-thumb-small wp-post-image" alt="" ezimgfmt="rs rscb2 src ng ngcb2" data-ezsrc="/css/images/thumbnail_img/laptrinhcanban47.webp"></a></div><div class="widget-entry-summary"><span style="margin:0"><a target="_blank" href="https://laptrinhcanban.com/php/nhap-mon-lap-trinh-php/chuoi-trong-php/tach-tung-ky-tu-trong-chuoi-php/">Tách từng ký tự trong chuỗi PHP (substr, preg_split)</a></span> <span>tháng 9 17, 2022</span></div></li><li class="clearfix"><div class="widget-entry-thumbnail"><a target="_blank" href="https://laptrinhcanban.com/php/nhap-mon-lap-trinh-php/chuoi-trong-php/xoa-ky-tu-trong-chuoi-php/"><img width="60px" height="60px" class="ezlazyload attachment-thumb-small size-thumb-small wp-post-image" alt="" ezimgfmt="rs rscb2 src ng ngcb2" data-ezsrc="/css/images/thumbnail_img/laptrinhcanban15.webp"></a></div><div class="widget-entry-summary"><span style="margin:0"><a target="_blank" href="https://laptrinhcanban.com/php/nhap-mon-lap-trinh-php/chuoi-trong-php/xoa-ky-tu-trong-chuoi-php/">Xóa ký tự trong chuỗi PHP</a></span> <span>tháng 9 15, 2022</span></div></li></ul></div></div></div><footer class="entry-meta entry-footer"></footer><hr class="entry-footer-hr"></div><div id="profiletitle2">Profile</div><div id="profileblock2"><div id="profilephoto2"><a target="_blank" rel="noopener" href="https://www.facebook.com/mr.nchita"><img width="100" height="100" alt="きよしです!笑" ezimgfmt="rs rscb2 src ng ngcb2" class="ezlazyload" data-ezsrc="/css/images/kiyoshi.webp"></a></div><div id="profiletext2"><p>Tác giả : <a href="https://www.facebook.com/mr.nchita" target="_blank" rel="nofollow noopener">Kiyoshi (Chis Thanh)</a></p><p>Kiyoshi là một <a href="https://www.youtube.com/c/ChisThanh" target="_blank" rel="nofollow noopener">cựu du học sinh tại Nhật Bản</a>. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.<span id="ezoic-pub-ad-placeholder-196" class="ezoic-adpicker-ad"></span></p></div></div></div></article><aside id="sidebar"><div id="sidebar_first"><div class="search" style="margin-top:-30px"><div id="fb-root"></div><script async defer crossorigin="anonymous" src="https://connect.facebook.net/vi_VN/sdk.js#xfbml=1&version=v12.0&appId=3084959888222500&autoLogAppEvents=1" nonce="KPkvxeh4">

Kiểm tra ký tự trong chuỗi javascript