Tôi đang cố gắng xác thực một chuỗi, phải chứa số chữ cái và ký tự đặc biệt chỉ &-._
. Đối với điều đó tôi đã cố gắng với một biểu thức chính quy.Kết hợp các ký tự đặc biệt và chữ cái trong regex
var pattern = /[a-zA-Z0-9&_\.-]/
var qry = 'abc&*';
if(qry.match(pattern)) {
alert('valid');
}
else{
alert('invalid');
}
Khi sử dụng mã trên, chuỗi abc&*
hợp lệ. Nhưng yêu cầu của tôi là hiển thị điều này không hợp lệ. tức là Bất cứ khi nào một ký tự khác với một chữ cái, một số hoặc các ký tự đặc biệt &-._
xuất hiện, chuỗi nên đá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 regex?
Điều quan trọng là sử dụng '^' ngay từ đầu và '+ $ 'ở cuối, như những câu trả lời dưới đây đã giải thích. '/^[a-zA-Z0-9 & _ \ .-] + $ /'. Tôi chỉ ra điều này trong trường hợp bạn bỏ lỡ sự khác biệt tinh tế đó. –