Ký tự đặc biệt Regex JavaScript

Người dùng-1760637409 đã đăng

Chào bạn,

Bạn có thể thử ví dụ dưới đây cũng xác thực Số và ký tự đặc biệt. -

Phần bên dưới sẽ cho phép tất cả Chữ hoa chữ thường, Số và Ký tự đặc biệt
[a-zA-Z_0-9@\. #\$\^%&*[]+=\-[]\\\';,\. \/\{\}\. \". \?

// Chỉ số
mẫu var = /^\d{5}[[\-]\d{4}]?$/;

// tất cả các ký tự hoa thường có ký tự đặc biệt và số
mẫu var = /^[a-zA-Z_0-9@\. #\$\^%&*[]+=\-[]\\\';,\. \/\{\}\. \". \?

// Ký tự Thụy Điển
mẫu var = /^[\wåäöÅÄÖ]+$/;

Bạn có thể thay đổi biến "mẫu" bên trong mã bên dưới,
Sao chép & Paster & Lưu cái này dưới dạng html để xem Regex đang chạy



Nhập  Xác thực bằng regex



Xác thực số đầu vào và ký tự đặc biệt


Nhập Giá trị tại đây



Biểu thức chính quy cho phép chúng ta thao tác với chuỗi một cách dễ dàng. Chúng là các mẫu cho phép chúng ta khớp văn bản theo bất kỳ cách nào chúng ta tưởng tượng. Không có nó, chúng tôi sẽ gặp khó khăn khi tìm kiếm văn bản có mẫu phức tạp. Nó cũng hữu ích để kiểm tra các đầu vào dựa trên các biểu thức thông thường để xác thực biểu mẫu. Trong bài viết này, chúng ta sẽ xem xét các ký tự đặc biệt nâng cao là một phần của biểu thức chính quy và cả các phương thức biểu thức chính quy của JavaScript

Chúng ta có thể định nghĩa các biểu thức chính quy JavaScript bằng chữ như sau

const re = /a/

Hoặc, chúng ta có thể sử dụng hàm tạo biểu thức chính quy để xác định đối tượng biểu thức chính quy bằng cách chuyển một chuỗi vào hàm tạo

const re = new RegExp['a'];
9 như sau

const re = new RegExp['a'];
Thêm nhân vật đặc biệt

Có nhiều ký tự đặc biệt hơn mà chúng ta có thể sử dụng để tạo biểu thức chính quy

/[a-z0-9.]+@[a-z0-9.]+.[a-z]/.exec['abc@abc.com']
0

Khớp với bất kỳ ký tự nào không có trong ngoặc và hiển thị đầu tiên. Ví dụ: nếu chúng ta có chuỗi

/[a-z0-9.]+@[a-z0-9.]+.[a-z]/.exec['abc@abc.com']
1 và mẫu
/[a-z0-9.]+@[a-z0-9.]+.[a-z]/.exec['abc@abc.com']
0 thì nó khớp với
/[a-z0-9.]+@[a-z0-9.]+.[a-z]/.exec['abc@abc.com']
3 vì đó là ký tự đầu tiên không phải là
/[a-z0-9.]+@[a-z0-9.]+.[a-z]/.exec['abc@abc.com']
4 ,
/[a-z0-9.]+@[a-z0-9.]+.[a-z]/.exec['abc@abc.com']
5 hoặc
/[a-z0-9.]+@[a-z0-9.]+.[a-z]/.exec['abc@abc.com']
4 trong
/[a-z0-9.]+@[a-z0-9.]+.[a-z]/.exec['abc@abc.com']
7

[\b]

Mẫu này khớp với một ký tự xóa lùi

\b

Mẫu này phù hợp với một ranh giới từ. Ranh giới từ là vị trí của một chuỗi nằm giữa một ký tự từ theo sau là một ký tự không phải từ

Ví dụ: nếu chúng ta có mẫu

/[a-z0-9.]+@[a-z0-9.]+.[a-z]/.exec['abc@abc.com']
8 và chuỗi
/[a-z0-9.]+@[a-z0-9.]+.[a-z]/.exec['abc@abc.com']
9 , thì chúng ta sẽ nhận được
/[a-z0-9.]+@[a-z0-9.]+.[a-z]/.exec['abc@abc.com']
9 là đối sánh vì chúng ta có
["abc@abc.com", index: 0, input: "abc@abc.com", groups: undefined]
1 ở đầu chuỗi

Nếu chúng tôi có

["abc@abc.com", index: 0, input: "abc@abc.com", groups: undefined]
2 , thì chúng tôi nhận được _____3_______9 là đối sánh cho _____14_______4 vì _______14_______1 khớp với ranh giới ở cuối chuỗi vì chúng tôi có khoảng trống sau _____
/[a-z0-9.]+@[a-z0-9.]+.[a-z]/.exec['abc@abc.com']
9

["abc@abc.com", index: 0, input: "abc@abc.com", groups: undefined]
7 sẽ không khớp với bất cứ thứ gì vì chúng tôi có các ký tự từ trước và sau
["abc@abc.com", index: 0, input: "abc@abc.com", groups: undefined]
1 nên không có ranh giới từ,

\B

Khớp với ranh giới không phải từ. Nó khớp với bất kỳ thứ gì trước ký tự đầu tiên của chuỗi, sau ký tự cuối cùng của chuỗi, giữa các ký tự 2 từ, giữa 2 ký tự không phải từ hoặc một chuỗi trống

Ví dụ: nếu chúng ta có mẫu

["abc@abc.com", index: 0, input: "abc@abc.com", groups: undefined]
9 và chuỗi
["abc@abc.com", index: 0, input: "abc@abc.com", groups: undefined]
4 , thì
/[a-z0-9.]+@[a-z0-9.]+.[a-z]/.exec['abc@abc.com']
9 sẽ là kết quả khớp

\cX

Mẫu này khớp với một ký tự điều khiển của một chuỗi, trong đó

/\d+/ig.exec['123']
2 là từ A đến Z

\d

Khớp với bất kỳ chữ số nào. Nó giống như

/\d+/ig.exec['123']
3 Ví dụ,
/\d+/ig.exec['123']
4 khớp với 1 trên 123

Mẫu này khớp với mọi ký tự không phải chữ số. Nó giống như

/\d+/ig.exec['123']
5. Ví dụ:
/\d+/ig.exec['123']
6 khớp với
/\d+/ig.exec['123']
7 trong chuỗi
/\d+/ig.exec['123']
8

\f

Khớp với ký tự nguồn cấp biểu mẫu

/\d+/ig.exec['123']
9

Khớp với ký tự nguồn cấp dữ liệu dòng

\ r

Khớp với ký tự xuống dòng

\S

Khớp với một ký tự khoảng trắng

\S

Khớp với bất kỳ ký tự không phải khoảng trắng nào

\t

Khớp với ký tự tab

\v

Khớp với ký tự tab dọc

\W

Khớp với bất kỳ ký tự không phải từ nào. Nó giống như

'table tennis'.match[/[abc]/g]
0. Ví dụ: nếu chúng tôi có chuỗi
'table tennis'.match[/[abc]/g]
1 , thì chúng tôi sẽ nhận được
'table tennis'.match[/[abc]/g]
2 là đối sánh

\N

Nếu

'table tennis'.match[/[abc]/g]
3 là một số nguyên dương, thì đó là tham chiếu ngược tới chuỗi con cuối cùng khớp với nhóm bắt giữ
'table tennis'.match[/[abc]/g]
3

Ví dụ: nếu chúng ta có một biểu thức chính quy

'table tennis'.match[/[abc]/g]
5 và chuỗi
'table tennis'.match[/[abc]/g]
6 , thì chúng ta sẽ nhận được các kết quả trùng khớp
'table tennis'.match[/[abc]/g]
7 và
'table tennis'.match[/[abc]/g]
8 vì chúng ta có
'table tennis'.match[/[abc]/g]
8 trong cả hai chuỗi con

["a", "b"]
0

Khớp với ký tự null

\xhhh

So khớp ký tự với mã

["a", "b"]
1trong đó
["a", "b"]
1 là 2 chữ số thập phân. Ví dụ: vì mã thập lục phân cho
["a", "b"]
3 là
["a", "b"]
4 , nên chúng tôi có thể khớp nó với mẫu
["a", "b"]
5

\uhhhhhh

So khớp ký tự với mã

["a", "b"]
6 , trong đó
["a", "b"]
6 là 4 chữ số thập lục phân

["a", "b"]
8

So khớp với ký tự có giá trị Unicode

["a", "b"]
6 , trong đó
["a", "b"]
6 là 4 chữ số thập lục phân

Ảnh của Etty Fidele trên BaptPhương thức biểu thức thông thường

Đối tượng biểu thức chính quy JavaScript có một số phương thức cho phép chúng ta thực hiện nhiều việc khác nhau với biểu thức chính quy như tìm kiếm chuỗi, kiểm tra xem chuỗi có khớp với mẫu hay không, thay thế chuỗi, v.v.

Các phương pháp dưới đây

giám đốc điều hành

Phương thức

'table tennis'.match[/[abc]/]
1 tìm kiếm sự trùng khớp của biểu thức chính quy trong một chuỗi. Nó trả về mảng kết quả hoặc
'table tennis'.match[/[abc]/]
2 nếu không có kết quả khớp

Ví dụ, nếu chúng ta viết

/[a-z0-9.]+@[a-z0-9.]+.[a-z]/.exec['abc@abc.com']

Sau đó, chúng tôi nhận được trở lại

["abc@abc.com", index: 0, input: "abc@abc.com", groups: undefined]

Chúng ta cũng có thể sử dụng cờ

'table tennis'.match[/[abc]/]
3 để tìm kiếm toàn bộ chuỗi khớp. Ví dụ, chúng ta có thể viết

/\d+/ig.exec['123']

Sau đó, chúng tôi nhận được 123 là trận đấu

kiểm tra

Phương thức

'table tennis'.match[/[abc]/]
4 thực hiện tìm kiếm đối sánh giữa biểu thức chính quy và chuỗi đã chỉ định. Nó trả về
'table tennis'.match[/[abc]/]
5 nếu trùng khớp và
'table tennis'.match[/[abc]/]
6 nếu không

Ví dụ,

'table tennis'.match[/[abc]/]
7 trả về
'table tennis'.match[/[abc]/]
5, nhưng
'table tennis'.match[/[abc]/]
9 trả về
'table tennis'.match[/[abc]/]
6

cuộc thi đấu

Phương thức

["a", index: 1, input: "table tennis", groups: undefined]
1 trả về tất cả các kết quả khớp của một chuỗi đối với một biểu thức chính quy

Ví dụ, nếu chúng ta viết

'table tennis'.match[/[abc]/g]

Sau đó, chúng tôi nhận được trở lại

["a", "b"]

vì chúng tôi có cờ

'table tennis'.match[/[abc]/]
3 để tìm kiếm toàn bộ chuỗi cho các trận đấu. Nếu chúng tôi xóa cờ
'table tennis'.match[/[abc]/]
3, thì chúng tôi chỉ nhận được kết quả khớp đầu tiên. Chẳng hạn, nếu chúng ta viết

'table tennis'.match[/[abc]/]

Sau đó, chúng tôi nhận được trở lại

["a", index: 1, input: "table tennis", groups: undefined]

["a", index: 1, input: "table tennis", groups: undefined]
4

Phương thức

["a", index: 1, input: "table tennis", groups: undefined]
5 trả về tất cả các kết quả khớp của một chuỗi đối với một biểu thức chính quy trong một trình vòng lặp cho phép chúng tôi nhận kết quả với toán tử trải rộng hoặc vòng lặp
["a", index: 1, input: "table tennis", groups: undefined]
6

Ví dụ, nếu chúng ta viết

[...'table tennis'.matchAll[/[abc]/g]]

Sau đó, chúng tôi nhận được trở lại

const re = new RegExp['a'];
0

vì chúng tôi có cờ

'table tennis'.match[/[abc]/]
3 để tìm kiếm toàn bộ chuỗi cho các trận đấu. Nếu chúng tôi xóa cờ
'table tennis'.match[/[abc]/]
3, thì chúng tôi chỉ nhận được kết quả khớp đầu tiên. Chẳng hạn, nếu chúng ta viết

const re = new RegExp['a'];
1

Sau đó, chúng tôi nhận được trở lại

const re = new RegExp['a'];
2

Tìm kiếm

Phương thức

["a", index: 1, input: "table tennis", groups: undefined]
9 lấy chỉ số khớp của chuỗi. Nó trả về -1 là không tìm thấy kết quả phù hợp. Ví dụ, chúng ta có thể viết

const re = new RegExp['a'];
3

Sau đó, chúng tôi nhận lại 1 vì chúng tôi có

/\d+/ig.exec['123']
7 là ký tự thứ hai của
[...'table tennis'.matchAll[/[abc]/g]]
1

Tuy nhiên, nếu chúng ta có

const re = new RegExp['a'];
4

Sau đó, chúng tôi nhận lại -1 vì cả 3 chữ cái không tồn tại trong

[...'table tennis'.matchAll[/[abc]/g]]
1

thay thế

Phương thức

[...'table tennis'.matchAll[/[abc]/g]]
3 tìm các kết quả khớp trong một chuỗi và sau đó thay thế các kết quả khớp bằng chuỗi mà chúng tôi chỉ định

Ví dụ, nếu chúng ta có

const re = new RegExp['a'];
5

Sau đó, chúng tôi nhận được

const re = new RegExp['a'];
6

tách ra

Chúng ta có thể sử dụng phương thức

[...'table tennis'.matchAll[/[abc]/g]]
4 để tách một chuỗi theo mẫu mà chúng ta đặt làm dấu phân cách. Nó trả về một mảng các chuỗi được tách ra từ chuỗi ban đầu theo các kết quả khớp của biểu thức chính quy

Ví dụ, nếu chúng ta có

const re = new RegExp['a'];
7

Sau đó, chúng tôi nhận được trở lại

const re = new RegExp['a'];
8

Như chúng ta có thể thấy, có rất nhiều ký tự và sự kết hợp của chúng mà chúng ta có thể tìm kiếm bằng biểu thức chính quy JavaScript. Nó cho phép chúng tôi thực hiện thao tác và xác thực chuỗi rất dễ dàng vì chúng tôi không phải tách chúng ra và kiểm tra chúng. Tất cả những gì chúng ta phải làm là tìm kiếm chúng bằng các đối tượng biểu thức chính quy

Tương tự như vậy, việc tách và thay thế các chuỗi bằng các mẫu phức tạp cũng được thực hiện dễ dàng với các đối tượng biểu thức chính quy và các phương thức

[...'table tennis'.matchAll[/[abc]/g]]
4 và
[...'table tennis'.matchAll[/[abc]/g]]
3 của chúng tương ứng

Làm cách nào để kiểm tra các ký tự đặc biệt trong regex trong JavaScript?

Để kiểm tra xem một chuỗi có chứa các ký tự đặc biệt hay không, gọi phương thức test[] trên một biểu thức chính quy khớp với bất kỳ ký tự đặc biệt nào . Phương thức kiểm tra sẽ trả về true nếu chuỗi chứa ít nhất 1 ký tự đặc biệt và false nếu ngược lại.

Làm cách nào để xác thực các ký tự đặc biệt trong regex?

tức là Bất cứ khi nào một ký tự không phải là chữ cái, số hoặc ký tự đặc biệt &-. _ đi kèm, chuỗi sẽ được đánh giá là không hợp lệ. Làm thế nào tôi có thể làm điều đó với một biểu thức chính quy? . /^[a-zA-Z0-9&_\. use ^ at the beginning and +$ at the end, as the answers below have explained. /^[a-zA-Z0-9&_\.

Làm cách nào để cho phép một số ký tự đặc biệt trong JavaScript?

JavaScript cho phép chúng ta thêm các ký tự đặc biệt vào Chuỗi văn bản bằng cách sử dụng dấu gạch chéo ngược [\] . Chúng tôi có thể thêm các loại ký tự đặc biệt khác nhau, bao gồm trích dẫn đơn, trích dẫn kép, dấu và, dòng mới, tab, xóa lùi, nguồn cấp biểu mẫu, v.v. , sử dụng dấu gạch chéo ngược ngay trước các ký tự.

\s trong regex JavaScript là gì?

Siêu ký tự \s khớp với ký tự khoảng trắng . Các ký tự khoảng trắng có thể là. Một ký tự khoảng trắng. Một ký tự tab.

Làm cách nào để kiểm tra xem một chuỗi có chứa ký tự đặc biệt trong JavaScript không?

@#$%^&*. ,/\'";. ? và trả về true nếu chuỗi chứa ít nhất một trong các ký tự đó. Nếu chuỗi chỉ chứa các ký tự đặc biệt thì nó trả về true , nhưng nếu chuỗi chứa thứ khác như ký tự chữ và số [. ví dụ 1 ,. example2 ], nó trả về false.

Chủ Đề