Regex Example
Regex
new RegExp(/^...$/g).test('string')
^[a-zA-Z][a-zA-Z0-9_]{4,}[^_]$
Nhập tối thiểu 4 kí tự
Chỉ cho a-z or A-Z or 0-9 và 1 dấu gạch dưới
Bắt buộc chữ đầu là ký tự chữ.
Kí tự cuối k được là dấu gạch dưới.
...
/^(?!^[0-9])([a-zA-Z0-9 ]){1,20}$/
Không được bắt đầu bằng ký tự số
Cho phép nhập a-z và A-Z và 0-9
Không cho phép nhập ký tự đặt biệt
Độ dài tối thiểu 1 ký tự, tối đa 20 ký tự
...
/^(?!^[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9]).{1,20}$/
Không được bắt đầu bằng ký tự số.
Phải nhâp ít nhất 1 ký tự a-z.
Phải nhâp ít nhất 1 ký tự A-Z.
Phải nhâp ít nhất 1 ký tự 0-9.
Không cho phép nhập ký tự đặt biệt
Độ dài tối thiểu 1 ký tự, tối đa 20 ký tự
...
/^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/
Kiểm tra email
/[0-9]/g
Chỉ cho nhập số
/[^0-9]/g
Không cho nhập số
VD: ứng dụng bài toán input number chặn user nhập chữ cái
var a = '444t';
console.log(a.replace(/[^0-9]*/g, ''))
output: 444
[USERNAME]
/^(?!^[0-9])([a-zA-Z0-9 ])[^\u0E00-\u0E7F]{1,50}$/
Có thể được nhập bằng ký tự. Tiếng Anh, chữ thường và chữ thường (AZ, az)
Số (0-9)
Các ký tự đặc biệt
Không nên đặt bằng tiếng Thái
Nó có phân biệt chữ hoa chữ thường
Không được ít hơn 1 ký tự và không quá 50 ký tự
Không được bắt đầu bằng một số.
[PASSWORD]
/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?])[A-Za-z\d!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]{8,}$/
Phải có chữ hoa tiếng Anh (AZ)
Phải có chữ cái viết thường tiếng Anh (az)
Phải có số (0-9)
Phải có các ký tự đặc biệt Phải dài ít nhất 8 ký tự
[REQUIRE] /^\s*$/ ex: /^\s*$/.test('') => true Không được để trống! [REQUIRE number] /^(?!^[1-9])[0-9]{10,}$/ /^(?=^[0])[0-9]{10,}$/ Phải bắt đầu bằng số 0 ex: /^(?!^[1-9])[0-9]{10,}$/.test("0123456789") => true ex: /^(?=^[0])[0-9]{10,}$/.test("01123456789") => true
[Kiểm tra chuỗi] /(\#\_[a-zA-Z]{0,1}\_[^\#\_]{0,}\_\#)/g Phải có ký tự đầu cuối #_ ... _# Đoạn 1 cho nhập chữ tiếng anh hoa thường 1 ký tự Đoạn 2 không được chứa #_ ex: kiem tra dong nay #_T_ngược dòng_# xem co dung khong #_T_xuôi dòng_#
[Kiểm tra URI image]
/(https?:\/\/.*\.(?:png|jpg))/i
[Kiểu tra dãy ký tự - muốn pass qua một đoạn nào đó dùng .*?]
/(\#\_\(.*?\)\/\(\(.*?\)[+x-]\(.*?\)\)\_\#)/g
ex: #_(a+#_0/c_#)/((#_a/c_#+#_c/d_#)+(#_a/c_#+#_c/d_#))_#
.*? => a+#_0/c_#
.*? => #_a/c_#+#_c/d_#
.*? => #_a/c_#+#_c/d_#
[Kiểm tra chuỗi url trang web] ^(?!^[<>\\'"*])(?=.*[\w])([\w\d!@#$%^&()_+\-=\[\]{};:|,\/?.]){5,22}$ Chỉ chứa các ký tự Latinh Chứa từ 5-20 ký tự Chứa ít nhất một chữ cái Không được chứa ký tự đặc biệt <>\'"* ex: kiểm tra chuỗi này: facebook.com
[Kiểm tra URL loại bỏ params phía sau] (http|https)?:\/\/([a-zA-Z0-9.-]+)\/ (\S+) => là chứa các chữ cái và ký tự đặc biệt (Không dùng được trong ví dụ này) ([a-zA-Z0-9.-]+) => Dấu + cho phép nối tiếp điều kiện tiếp ex: https://regexr.com/demo/demo/demo?demo=123 kết quả: https://regexr.com/
[Loại bỏ chuỗi bên trong dấu ngoặc tròn ()] /[()][(\w\d.)]+/g ex: 'ntt.linh (ntt.linh) ,vtp.hoai (vtp.hoai)' kết quả: ['ntt.linh', 'vtp.hoai']
[Thêm kí tự vào mỗi 2 số kết hợp replaceAll] /[0-9]{2}/g "991231".replaceAll(/[0-9]{2}/g,"/") kết quả 1: /// "991231".replaceAll(/[0-9]{2}/g, (a, b) => b === 4 ? a : b === 0 ? "19" + a + "-" : a + "-") kết quả 2: "1999/12/31/"
[Giữ lại + xoá đi ký tự được chỉ định kết hơp replace]
"price 1000¥".replace(/[^a-zA-Z0-9]|[¥¥]/g, ""); // về đầu là giữ lại, vế sau là xoá bỏ
kết quả: price1000
Chúng được sử dụng để tìm một loạt các ký tự.
[...]: Any one character between the brackets.
[^..]: khớp với bất kỳ chuỗi nào không nằm trong ngoặc
[0-9]: khớp với 0-9
[a-z]: khớp với a-z
[A-Z]: khớp với A-Z
[a-Z]: lỗi không được viết kiểu này
Đây là những ký tự có ý nghĩa đặc biệt
.: a single character
\s: a whitespace character (space, tab, newline)
\S: non-whitespace character (chứa ký tự a-zA-Z0-9 và các ký tự đặc biệt)
\d: a digit (chứa 0-9)
\D: a non-digit (Không được chứa 0-9)
\w: a word character (chứa các ký tự a-zA-Z0-9_)
\W: a non-word character (Không được chứa a-zA-Z0-9)
[\b]: a literal backspace (special case).
[aeiou]: khớp với các ký tự aeiou
[^aeiou]: khớp vời tất cả các ký tự ngoài aeiou
(foo|bar|baz): khớp với foo hoặc bar hoặc baz
Chúng rất hữu ích để xác định các đại lượng
p+: Khớp với bất kỳ chỗi nào chứa p
p*: Ký tự "*" được gọi là ký tự đại diện cho 0 hoặc nhiều ký tự bất kỳ.
p?: Nó khớp với bất kỳ chuỗi nào chứa nhiều nhất một p.
p{N}: p{2} khớp với 2 ký tự p
p{2,3}: khớp với 2 hoặc 3 ký tự p
p{2, }: khớp với 2 ký tự p trở đi
p$: khớp với p ở cuối cùng văn bản
^p: khớp với p ở đầu tiên văn bản
0 nhận xét:
Post a Comment