[Hỏi đáp] Lấy phần tử trong dấu ngoặc vuông

  Bài viết hay nhất1
Em có 1 đoạn text: Đây là [DEMO]. Giờ em muốn lấy phần chữ DEMO ra thì làm sao ạ?
  Bài viết hay nhất2
dùng regex và match
Code:
var a = "[DEMO]";
alert(a.match(/\[(.*?)\]/)[1])
  Bài viết hay nhất3
Zero wrote:dùng regex và match
Code:
var a = "[DEMO]";
alert(a.match(/\[(.*?)\]/)[1])
huynh giải thích cái hàm này alert(a.match.(/\[(.*?)\]/)[1])) dùng như thế nào luôn dc không ạ :3
  Bài viết hay nhất4
anhoang_qn wrote:
Zero wrote:dùng regex và match
Code:
var a = "[DEMO]";
alert(a.match(/\[(.*?)\]/)[1]))
huynh giải thích cái hàm này alert(a.match.(/\[(.*?)\]/)[1]) dùng như thế nào luôn dc không ạ :3
alert() dùng để hiện popup với giá trị bên trong của hàm đó, nếu dùng console (F12) / firebug thì dùng console.log()
match() dùng để tìm từ trong 1 string rồi trả về từ nó tìm được
/\[(.*?)\]/ là regex,
/ - mở regex,
\ - dùng để escape cái [
[ - tìm [ trong string
( - backreference, dùng để capture cái .*? để sau này có thể gọi nó ra được
.*? - match tất cả ký tự nằm sau [ và trước ], có thể thay nó = DEMO nếu chỉ muốn match duy nhất từ DEMO
) - backreference, dùng để capture cái .*? để sau này có thể gọi nó ra được
\ - dùng để escape cái ]
] - tìm ] trong string
/ - đóng regex
[1] là index, nếu dùng [0] nó sẽ trả về [DEMO]. Riêng [1], nếu không capture ở trên nó sẽ trả về undefined. Trong trường hợp này mình đã capture nó rồi, nên nó trả về giá trị DEMO
  Bài viết hay nhất5
You cannot reply to topics in this forum