HI
Я пытаюсь использовать Javascript для написания простого фильтра слов СПАМ, который просматривает массив слов и пытается сопоставить все слово, которое передается в виде строки.
Ниже приведено то, что я имею до сих пор, и оно работает, за исключением того, что выполняет частичное сопоставление слов вместо сопоставления всего слова.
Итак, в моем примере ниже строка, переданная ниже:
Мы предлагаем отличные учебные классы и множество кредитов CE круглый год!
Соответствует слову " кредит "
Я ищу способ сопоставления всего слова, а не частичного совпадения слов.
Любая помощь будет оценена.
var spam_words_arr=new Array(
"loan",
"winning",
"bulk email",
"mortgage",
"free",
"save",
"credit",
"amazing",
"bulk",
"email",
"opportunity",
"please read",
"reverses aging",
"hidden assets",
"stop snoring",
"free investment",
"dig up dirt on friends",
"stock disclaimer statement",
"multi level marketing",
"compare rates",
"cable converter",
"claims you can be removed from the list",
"removes wrinkles",
"compete for your business",
"free installation",
"free grant money",
"auto email removal",
"collect child support",
"free leads",
"amazing stuff",
"tells you it's an ad",
"cash bonus",
"promise you",
"claims to be in accordance with some spam law",
"search engine listings",
"free preview",
"act now! don't hesitate",
"credit bureaus",
"no investment",
"obligation",
"guarantee",
"refinance",
"price",
"affordable",
"home loan",
"lower your monthly payments",
"new low rate",
"Your Mortgage",
"Your refi",
"serious cash");
function SubChecker() {
var sSubject = document.form1.subject.value;
reset_alert_count();
var alert_title = "The following words and phrases are not recommended in subject lines";
var compare_text;
eval('compare_text=sSubject;');
for(var j=0; j<spam_words_arr.length; j++) {
for(var k=0; k<(compare_text.length); k++) {
if(spam_words_arr[j]==compare_text.substring(k,(k+spam_words_arr[j].length)).toLowerCase()) {
spam_alert_arr[spam_alert_count]=compare_text.substring(k,(k+spam_words_arr[j].length));
spam_alert_count++;
}
}
}
for(var k=1; k<=spam_alert_count; k++) {
alert_text+= "<br> <li> "+ spam_alert_arr[k-1];
eval('compare_text=document.form1.subject.focus();');
eval('compare_text=document.form1.subject.select();');
}
}
ОК. Вот моя ревизия, но я не могу заставить код работать. Может кто-нибудь взглянуть и дать мне руку с некоторыми предложениями.
Заранее спасибо.
function SubChecker() {
var sSubject = document.form1.subject.value;
reset_alert_count();
var alert_title = "The following words and phrases are not recommended in subject lines";
for(var j=0; j<spam_words_arr.length; j++) {
for(var k=0; k<(sSubject.length); k++) {
var rExp = new RegExp("("+spam_words_arr[j]+")", "ig");
alert(rExp);
if(rExp.match(sSubject)){
spam_alert_count++;
}
}
for(var k=1; k<=spam_alert_count; k++) {
alert_text+= "<br> <li> "+ spam_alert_arr[k-1];
}
enter code here