问题不在下面的程序,而是
var abc =  "中国 美国1 美国2 日本 俄罗斯";
这句话的分隔符原来是逗号,现在变空格了
<script language=javascript>
//测试后的
var str="asdasdasd中国"
var abc =  "中国 美国1 美国2 日本 俄罗斯";
abc=abc.replace(/[,|,|\s]/g,"\)|\(")
var re=new RegExp("\("+abc+"\)")
alert(re)
if(re.test(str))
{
   alert("包含")
}
</script>

解决方案 »

  1.   

    非常感谢hbhbhbhbhb1021(天外水火(我要多努力)) ,但是你这个有点小问题,譬如我代码如下:
    ======================
    <input type="text" onblur="aaaa(this.value);" />
    <script>
    function aaaa(str)
    {
       var abc = "中国 美国1 美国2 日本 俄罗斯";  
       abc=abc.replace(/[,|,|\s]/g,"\)|\(")
       var re=new RegExp("\("+abc+"\)")
     
       if(re.test(str))
       {
         alert("包含")
       }
    }
    </script>
    ====================
    譬如我现在要输入的是字符串"中国情",也会提示【包含】,但我想实现的是必须严格匹配,譬如有且只有输入字符串“中国”时才可以提示匹配请问可以实现吗?
      

  2.   

    但是必须知道用户输入的是以什么来区分匹配的,比如
    中国 aaa
    或者 中国,aaa就是说,中国附近输入的分隔符是什么
      

  3.   

    我自己都糊涂了,还是说说我想做什么东西吧:
    输入关键字:<input type="text" id="tags" />
    然后下面是很多关键字:【美女 帅哥 下雨啦 发财 郁闷...】
    我每点击一个关键字,这个关键字就会在文本框中显示,并且前面加一个空格隔开。
    然后我现在是想,我在点击关键字添加到文本框里时,先判断是否已经添加这个关键字到文本框里了?
      

  4.   

    关键字列表通过Ajax已经放到前台页面,想在客户端通过JS来判断
      

  5.   


    <script>
    function aaaa(obj)
    {
    var objResult=document.getElementById("textResult")
    var str=objResult.value 
       var re=new RegExp("(^|\\s)"+obj.value+"(\\s|$)")   if(re.test(str))
       {
         alert("包含")
       }
       else
       {
        objResult.value=str+" "+obj.value
       }
    }
    </script>
    <input name="textResult">
    <input name="text1" value="中国" onclick="aaaa(this);">
    <input name="text1" value="美国1" onclick="aaaa(this);">
    <input name="text1" value="美国2" onclick="aaaa(this);">