Tôi muốn biết cách tốt nhất để kiểm tra chuỗi chẳng hạn (thư, mật khẩu ..Etc).JavaScript: test vs exec
/^...$/i.exec(a)
vs
/^...$/i.test(a)
- exec trả về giá trị
- kiểm tra đúng
kiểm tra:
// 1° way
var mail = req.body.mail;
if(check(mail)){
exec:
// 1° way
var mail = req.body.mail;
if(check(mail)){
// 2° way
var mail = check(req.body.mail);
if(mail){
exec hoặc kiểm tra? và những gì số (1 ° hoặc 2 ° nếu exec)
SOLUTION
kiểm tra là tốt hơn cho trường hợp này.
- nó chắc chắn sẽ nhanh hơn.
Nhưng quan trọng nhất
- kiểm tra thực hiện tất cả các công việc của mình. Trong khi exec không hoạt động, vì có thể thực hiện được nhiều hơn nhưng chúng tôi không cần.
- Như đã nói Mattias Buelens, sử dụng isMail() hợp lý hơn: là một email: có hoặc không. Trong khi exec: là email: email hoặc null -> wtf? lol
Ý của bạn là gì theo 'cách tốt nhất'? – j08691
thứ nhất. Phụ thuộc vào những gì bạn đang cố gắng làm. Bạn có cần kết hợp/chụp nhóm và như vậy hoặc chỉ xác nhận để kiểm tra xem chuỗi cung cấp của bạn có khớp với regex không? Ngoài ra, câu hỏi thứ 2 là tùy chọn dựa trên, nó sẽ có kết quả tương tự. Bạn nên chọn cái nào dễ đọc và dễ bảo trì hơn cho bạn/nhóm của bạn. –
có hai giải pháp, có sự khác biệt, vì vậy tôi nghĩ rằng một trong số đó là tốt nhất ** EDIT ** @ Fabrício Matté: chỉ xác nhận. Có, tôi nghĩ rằng cách đầu tiên là tốt nhất bởi vì logic dễ hiểu hơn. (cho bạn;)) –