RegEx on Javascript;检查多个字符串之一的实例

时间:2013-11-20 16:38:12

标签: javascript regex forms

我已经完成了很多服务器端表单验证,但到目前为止,我所做的唯一客户端表单验证是检查空/空条目(例如,if(value ==''|| value == null) ))。我现在正在检查用户输入的粗俗并且已经使用javascript成功检查这些(包含在一个变量 - vulgarcheck中),如下所示:

<script language="javascript" type="text/javascript">
function CheckUserForm() {
var usersuggestion=document.forms['UserForm']['userinput'].value;
var vulgarcheck = /badword1|badword2|badword3|etc/gi;
var vulgarcompare = usersuggestion.match(vulgarcheck);

if (usersuggestion==''||usersuggestion==null) {
alert('To make a suggestion, please enter text into the textbox');
return false;
}
else if (vulgarcompare!=null) {
alert('The text you entered contains some vulgar language. Please try again!');
return false;
}
else {
return true;
}
}
</script>

由于我不熟悉javascript表单验证比检查null / blank-entry更复杂,我希望有人可以告诉我,如果我的方法有任何我不知道的疏忽。也就是说,这种方法是否存在潜在的问题?谢谢你的帮助!

2 个答案:

答案 0 :(得分:1)

我认为在不久的将来,当你想要添加越来越多的单词时,用粗俗的单词维护你的词典会很难。

我的建议是建立一个字典并使用字典查找。 John Resig写了两篇关于这件事的好文章:http://ejohn.org/blog/javascript-trie-performance-analysis/http://ejohn.org/blog/dictionary-lookups-in-javascript/

答案 1 :(得分:0)

您可以使用下面的代码检查验证是否为空,不是空白,未定义,而不是javascript和jquery中的零。

 function myFunction() {
    var data;  //The Values can be like as null,blank,undefined,zero you can test

     if(!(!(data)))
     {
     alert("data "+data);
     } 
     else 
     {
        alert("data is "+data);
    }

    }