Tôi đang làm việc trên một số xác thực phía ứng dụng cho một loại liên hệ, trang web hiện không trực tuyến để phía máy chủ không có liên quan.Kiểm tra xem giá trị mảng có được bao gồm trong chuỗi
Tôi đang cố gắng tạo 'bộ lọc từ' để nắm bắt bất kỳ hành vi lạm dụng ngôn ngữ tục tĩu nào trước khi biểu mẫu được 'gửi'.
Heres mã, mà không có những lời tục tĩu ...
function filterInput(str) {
var inputFilter = ['word1', 'word2', 'word3'];
var arrayLength = inputFilter.length;
if (inputFilter.indexOf(str) > - 1) {
// Word caught...
} else {
// Clear...
}
Nếu người dùng đã nhập 'word1', nó sẽ bắt chữ. Nếu người dùng nhập 'word1word2' hoặc 'John là một từ3', nó không bắt được nó.
Ban đầu tôi có vòng lặp for hoạt động tốt hơn, nhưng vẫn không hoạt động nếu không có khoảng trống giữa các từ ('word1word2').
Bất kỳ đầu vào nào sẽ được đánh giá rất nhiều, tôi đã tìm kiếm nhưng không có gì phù hợp với nhu cầu của tôi.
EDIT: Vì vậy, tôi cũng đã đưa ra một giải pháp, nhưng nhìn thấy những cách khác nhau này có thể đạt được Tôi tò mò như thế nào nó hoạt động và cũng tại sao một cách cụ thể là tốt hơn?
Heres những gì tôi đã đưa ra ...
function filterInput(str) {
var inputFilter = ['word1', 'word2', 'word3'];
var arrayLength = inputFilter.length;
for (var i = 0; i < arrayLength; i++) {
if (str.includes(inputFilter[i])) {
window.alert('Message...');
return;
}
}
}
tôi m chỉ bắt đầu, vì vậy tôi nghĩ rằng tôi sẽ tránh ES2015 + bây giờ. Đối với một số, làm thế nào nó hoạt động so với những gì tôi đã đưa ra? – mrkd1991
@ mrkd1991: Không chắc chắn ý của bạn là "nó hoạt động như thế nào" ở đó. Nếu bạn có nghĩa là hiệu suất, các công cụ JavaScript ** rất nhanh ở các cuộc gọi hàm. Đây là một bài viết tôi đã làm trên đó trở lại vào năm 2012; thậm chí IE6, công cụ JavaScript chậm nhất mà bạn có thể yêu cầu, đã làm chúng nhanh đến nỗi nó không phải là một yếu tố: http://blog.niftysnippets.org/2012/02/foreach-and-runtime-cost.html –
Như trong, chức năng này làm gì để đạt được kết quả mong muốn, và điều gì khác biệt giữa điều đó và nỗ lực mới của tôi? – mrkd1991