| | String

Function String: prototype phần 2

@
Ở phần này chúng ta sẽ tìm hiểu về cách xử lý chuỗi với đối tượng RegExp (Regular Expression), và tạo các thẻ HTML từ một chuỗi.

Loạt bài: Function String trong JavaScript

Xử lý chuỗi với RegExp:
Xem bài: Function RegExp trong JavaScript
  • split(a)
  • Chia một chuỗi thành một Array (mảng) chứa các phần của chuỗi, giá trị truyền vào biến a có thể là một chuỗi hoạc một đối tượng RegExp.
  • search(a)
  • Tìm kiếm chỉ mục của giá trị truyền vào biến a bên trong chuỗi mẹ của nó (gần giống với indexOf, nhưng giá trị truyền vào biến a có thể là một chuỗi hoạc một đối tượng RegExp). nếu tìm thấy trả lại chỉ mục, nếu không trả lại -1.
  • match(a)
  • Trả lại một Array chứa các phần tử lấy từ chuỗi mẹ nếu so khớp với giá trị truyền vào biến a, nếu không trả lại null. giá trị truyền vào biến a có thể là một chuỗi hoạc một đối tượng RegExp. nếu biến a là RegExp và có flags g thì sẽ trả lại tất cả giá trị được so khớp, nếu không sẽ chỉ trả lại giá trị đầu tiên được so khớp.
  • replace(a,b)
  • Thay thế một phần của chuỗi mẹ thành giá trị được truyền vào biến b nếu nó so khớp với giá trị được truyền vào biến a, biến a có thể là một chuỗi hoặc một đối tượng RegExp. nếu biến a là RegExp và có flags g thì tất cả chuỗi được so khớp sẽ bị thay thế, nếu không sẽ chỉ thay thế giá trị đầu tiên được so khớp.

Ví dụ function split:
var a = '69 love you';
a.split('love');
//Array ['69 ', ' you']
a.split(/\s/);
//Array ['69', 'love', 'you']

Ví dụ function search:
var a = '69 love you';
a.search('love');
// 3
a.search(/\d+/);
// 0

Ví dụ function match:
var a = '69 love you';
a.match('love');
//Array ['love']
a.match(/\d+/);
//Array ['69']
a.match(/(\d+) (\w+)/);
//Array ['69 love', '69', 'love']

Ví dụ function replace(a,b):
Biến a có thể là một chuỗi hoặc một đối tượng RegExp, nếu biến a là RegExp và có flags g thì tất cả chuỗi được so khớp sẽ bị thay thế,…
Biến b được truyền vào có thể là ở dạng String với các chuỗi kế thừa giá trị được đưa ra từ biến a, ví dụ: $1, $2,… \1, \2,….
Hoặc biến b cũng có thể là một function callback kế thừa giá trị được đưa ra từ biến a.
var a = '69 love you, 69 love IT';

a.replace('love', 'yêu');
// 69 yêu you, 69 love IT

a.replace(/love/g, 'yêu');
// 69 yêu you, 69 yêu IT

a.replace(/(love)/g, '$1__y');
// 69 love__y you, 69 love__y IT
a.replace(/(love)/g, '\1__y');
// 69 love__y you, 69 love__y IT

a.replace(/(love|you)/g, (a,b) => {
return (b=='love') ? 'YÊU' : 'BẠN';
});
// 69 YÊU BẠN, 69 YÊU IT

Tạo các thẻ HTML từ một chuỗi:
  • anchor(a)
  • Tạo thẻ html <a name="a">
  • link(a)
  • Tạo thẻ html <a href="a">
  • fontcolor(a)
  • Tạo thẻ html <font color="a">
  • fontsize(a)
  • Tạo thẻ html <font size="a">
  • big()
  • Tạo thẻ html <big>
  • bold()
  • Tạo thẻ html <b>
  • blink()
  • Tạo thẻ html <blink>
  • italics()
  • Tạo thẻ html <i>
  • small()
  • Tạo thẻ html <small>
  • strike()
  • Tạo thẻ html <strike>
  • sub()
  • Tạo thẻ html <sub>
  • sup()
  • Tạo thẻ html <sup>

Một vài ví dụ:
var a = 'Onjs.me';
a.link('/');
// <a href="/">Onjs.me</a>
a.fontcolor('red');
// <font color="red">Onjs.me</font>
a.big();
// <big>Onjs.me</big>
  this.alter   ·   0   ·  
😂Smileys List   ·   ×