感谢大家的投入。这是我最终得到的版本,希望对其他人有所帮助。注意:我删除了该帖子的实际“坏”词,以便它通过本网站的过滤器。您可以将 'badword1'、'badword2' 等替换为实际的 'bad' 单词(你知道,例如 nukular、calender、ekcetera):
function isAllowed(varField) {
var msg = '';
var pass = true;
var regex0=/\b(@|www|WWW|http|hotmail|gmail|badword1|badword2|badword3)\b/i;
if (regex0.test(varField))
{
msg += "Text appears to have disallowed words (e.g. profanity, email, web address, @ symbol, etc.)\n";
pass = false;
}
var regex1=/\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b/i;
if (regex1.test(varField))
{
msg += "Text appears to have email address in it (not allowed\n";
pass = false;
}
var regex2=/\b\(?\d{3}\)?[-\s.]?\d{3}[-\s.]\d{4}\b/i;
if (regex2.test(varField))
{
msg += "Text appears to have a phone number in it (not allowed)\n";
pass = false;
}
if (msg!='')
{
alert(msg);
}
return pass;
}