- Chuyên mục khác :
- PHP cơ bản và nâng cao
- ·
- Bài tập PHP
- ·
- Javascript cơ bản và nâng cao
- ·
- HTTP cơ bản và nâng cao
- Bài hướng dẫn cơ bản về Javascript
- Học Javascript cơ bản và nâng cao
- JavaScript là gì
- Cú pháp của JavaScript
- Kích hoạt JavaScript trong các trình duyệt
- Vị trí JavaScript trong HTML File
- Biến trong JavaScript
- Toán tử trong JavaScript
- Lệnh if...else trong JavaScript
- Lệnh Switch Case trong JavaScript
- Vòng lặp while trong JavaScript
- Vòng lặp for trong JavaScript
- Vòng lặp for...in trong JavaScript
- Điều khiển vòng lặp trong JavaScript
- Hàm trong JavaScript
- Sự kiện (Event) trong JavaScript
- Điều hướng trang (Redirect) trong JavaScript
- Hộp thoại - Alert, Prompt, Confirmation trong JavaScript
- Từ khóa Void trong JavaScript
- In trang trong JavaScript
- Đối tượng trong JavaScript
- Đối tượng trong JavaScript
- Đối tượng Number trong JavaScript
- Đối tượng Boolean trong JavaScript
- Đối tượng String trong JavaScript
- Mảng (Array) trong JavaScript
- Đối tượng Date trong JavaScript
- Đối tượng Math trong JavaScript
- Regular Expression và RegExp trong JavaScript
- Document Object Model (DOM) trong JavaScript
- Hoạt động JavaScript nâng cao
- Xử lý lỗi trong JavaScript
- Form Validation trong JavaScript
- Hiệu ứng (Animation) trong JavaScript
- Đa phương tiện (Multimedia) trong JavaScript
- Debug trong JavaScript
- Image Map trong JavaScript
- Khả năng tương thích trình duyệt trong JavaScript
- Nguồn tài liệu IMS DB
- Các hàm có sẵn trong JavaScript
- Tài liệu tham khảo & Framework cho Javascript
Một Regular Expression là một đối tượng miêu tả một pattern của các ký tự.
Lớp JavaScript RegExp biểu diễn Regular Expression, và cả String và RegExp định nghĩa các phương thức mà sử dụng Regular Expression để thực hiện các hàm so khớp pattern và tìm kiếm-thay thế mạnh trên văn bản.
Cú pháp
Một Regular Expression có thể được định nghĩa với RegExp () constructor như sau:
var pattern = new RegExp(pattern, attributes); or simply var pattern = /pattern/attributes;
Miêu tả tham số:
pattern − Một chuỗi mà xác định pattern của Regular Expression hoặc Regular Expression khác.
attributes − Một chuỗi tùy chọn chứa bất kỳ thuộc tính "g", "i", và "m" mà xác định tương ứng Global, Không phân biệt kiểu chữ (case-insensitive), và nhiều so khớp (multiline matches)
Các dấu ngoặc vuông
Các dấu ngoặc vuông ([]) có một ý nghĩa đặc biệt khi được sử dụng trong Regular Expression. Chúng được sử dụng để tìm một dãy ký tự.
Expression | Miêu tả |
---|---|
[...] | Bất kỳ một ký tự nào trong dấu ngoặc vuông |
[^...] | Bất kỳ một ký tự nào không trong dấu ngoặc vuông |
[0-9] | Nó so khớp bất kỳ số thập phân nào từ 0 đến 9 |
[a-z] | Nó so khớp bất kỳ ký tự chữ thường nào từ a đến z. |
[A-Z] | Nó so khớp bất kỳ ký tự chữ hoa nào từ A đến Z. |
[a-Z] | Nó so khớp bất kỳ ký tự nào từ chữ thường a đến chữ hoa Z. |
Các dãy được chỉ ở trên là chung; bạn cũng có thể sử dụng dãy [0-3] để so khớp bất kỳ số thập phân nào từ 0 đến 3, hoặc dãy [b-v] để so khớp bất kỳ ký tự chữ thường nào từ b đến v.
Phép lượng hóa (Quantifier)
Tần số và vị trí của các dãy ký tự và các ký tự đơn được bao trong các dấu ngoặc có thể được biểu thị bởi một ký tự đặc biệt. Mỗi ký tự đặc biệt có một phần mở rộng riêng biệt. Các +, * … theo sau một dãy ký tự.
Expression | Miêu tả |
---|---|
p+ | Nó so khớp bất kỳ chuỗi nào chứa ít nhất một p. |
p* | Nó so khớp bất kỳ chuỗi nào chứa 0 hoặc nhiều p. |
p? | Nó so khớp bất kỳ chuỗi nào chứa 1 hoặc nhiều p |
p{N} | Nó so khớp bất kỳ chuỗi nào chứa một dãy có {N} p |
p{2,3} | Nó so khớp bất kỳ chuỗi nào chứa một dãy có 2 hoặc 3 p |
p{2, } | Nó so khớp bất kỳ chuỗi nào chứa một dãy có ít nhất 2 p |
p$ | Nó so khớp bất kỳ chuỗi nào kết thúc với p |
^p | Nó so khớp bất kỳ chuỗi nào bắt đầu bằng p |
Ví dụ
Ví dụ sau giải thích chi tiết hơn về so khớp các ký tự.
Expression | Miêu tả |
---|---|
[^a-zA-Z] | Nó so khớp bất kỳ chuỗi nào không chứa bất kỳ ký tự từ a đến z và từ A đến Z. |
p.p | Nó so khớp bất kỳ chuỗi nào chứa p, được theo sau bởi bất kỳ ký tự nào, theo sau bởi một ký tự p khác. |
^.{2}$ | Nó so khớp bất kỳ chuỗi nào chứa chính xác 2 ký tự |
<b>(.*)</b> | Nó so khớp bất kỳ chuỗi nào trong thẻ <b> và </b>. |
p(hp)* | Nó so khớp bất kỳ chuỗi nào chứa p được theo sau bởi 0 hoặc nhiều dãy hp. |
Các ký tự Literal
Ký tự | Miêu tả |
---|---|
Alphanumeric | Chính nó |
\0 | Ký tự NUL (\u0000) |
\t | Tab (\u0009) |
\n | Dòng mới (\u000A) |
\v | Tab dọc (\u000B) |
\f | Form feed (\u000C) |
\r | Carriage return (\u000D) |
\xnn | Ký tự Latin được xác định bởi số thập lục phân nn; ví dụ: \x0A là như \n |
\uxxxx | Ký tự Unicode được xác định bởi số thập lục phân xxxx; ví dụ: \u0009 là \t |
\cX | Ký tự điều khiển ^X; Ví dụ: \cJ tương đương với ký tự dòng mới \n |
Siêu ký tự (Metacharacter)
Một metacharacter đơn giản là một ký tự chữ cái được đặt trước bởi một dấu gạch chéo ngược mà thực hiện so khớp một ý nghĩa đặc biệt.
Ví dụ, bạn có thể tìm kiếm một lượng tiền lớn bởi sử dụng siêu ký tự '\d' là: /([\d]+)000/. Ở đây, \d sẽ tìm bất kỳ chuỗi ký tự số nào.
Bảng sau liệt kê một tập hợp các siêu ký tự mà có thể được sử dụng trong PERL Style Regular Expression.
Ký tự | Miêu tả |
---|---|
. | Một ký tự đơn |
\s | Một ký tự khoảng trống trắng (space, tab, dòng mới) |
\S | Không phải ký tự khoảng trống trắng |
\d | Một chữ số (0-9) |
\D | Không là chữ số |
\w | Một ký tự từ (a-z, A-Z, 0-9, _) |
\W | Không là một ký tự từ |
[\b] | Một literal backspace (trường hợp đặc biệt) |
[aeiou] | So khớp một ký tự đơn trong tập hợp đã cho |
[^aeiou] | So khớp một ký tự đơn bên ngoài tập hợp đã cho |
(foo|bar|baz) | So khớp bất kỳ các dãy thay đổi nhau đã cho |
Lượng hóa (Modifier)
Một số lượng hóa là có sẵn mà có thể xác định cách bạn làm việc với regexp, như phân biệt kiểu chữ, tìm kiếm nhiều dòng, …
Modifier | Miêu tả |
---|---|
i | Thực hiện so khớp không phân biệt kiểu chữ (case-insensitive). |
m | Xác định nếu chuỗi có các ký tự newline (dòng mới) hoặc carriage return , toán tử ^ và $ sẽ so khớp với một giới hạn newline (dòng mới), thay vì một giới hạn chuỗi. |
g | Thực hiện so khớp Global, mà tìm tất cả các so khớp thay vì dừng lại sau so khớp đầu tiên. |
Các thuộc tính của RegExp
Bảng dưới liệt kê các thuộc tính của đối tượng RegExp và miêu tả:
Thuộc tính | Miêu tả |
---|---|
constructor | Xác định hàm tạo prototype của đối tượng. |
global | Xác định nếu lượng hóa "g" được thiết lập |
ignoreCase | Xác định nếu lượng hóa "i" được thiết lập |
lastIndex | Chỉ mục tại đó bắt đầu so khớp mới |
multiline | Xác định nếu lượng hóa "m" được thiết lập |
source | Văn bản của pattern |
Khi bạn vào link, chúng ta sẽ có một số ví dụ minh họa cho các thuộc tính của đối tượng RegExp.
Các phương thức của RegExp
Bảng dưới liệt kê các phương thức của đối tượng RegExp và miêu tả:
Phương thức | Miêu tả |
---|---|
exec() | Thực thi một tìm kiếm cho một so khớp trong tham số chuỗi của nó. |
test() | Kiểm tra một so khớp trong tham số chuỗi của nó. |
toSource() | Trả về một literal đối tượng biểu diễn đối tượng đã cho; bạn có thể sử dụng giá trị này để tạo đối tượng mới. |
toString() | Trả về một chuỗi biểu diễn đối tượng đã cho. |
Khi bạn vào link, chúng ta sẽ có một số ví dụ minh họa cho các phương thức của đối tượng RegExp.
Các bài học JavaScript khác tại s2sontech:
- Javascript - Cú pháp
- Javascript - Kích hoạt
- Javascript - Vị trí trong HTML File
- Javascript - Biến
- Javascript - Toán tử
- Javascript - Lệnh If...Else
Bình luận (0)