js判断字符串里是否包含数组元素

var name ="123456&"
var txt = new RegExp("[\*,\&,\\,\/,\?,\|,\:,\<,\>,\"]");
判断name中是否有这个数组中的元素

var arr = [ 4, "Pete", 8, "John" ];
jQuery.inArray( "John", arr );

结果:
"John" found at 3

不知道这是你想要的么

不明白题意,按你列的正则表达式的话,txt.test(name)返回true表明name可以匹配txt,返回false表明无法匹配

var name ="123456"
var txt = new RegExp("[*,&,\,\/,\?,|,:,<,>,\"]");
if(txt.exec(name)!=null){
alert("存在");
}else
alert("不存在");

var name ="123456&"
var txt = new RegExp("[\*,\&,\\,\/,\?,\|,\:,\<,\>,\"]");
if(txt.exec(name)!=null){
    alert("存在");
}else
    alert("不存在");

你是想要判断name中是否含有txt正则中所含有的那些字符,
这里需要用到一个JavaScript默认的方法:**test()**

你可以运行一下底下的代码:

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <script type="text/javascript">
        window.onload = function(){
            var name = '123456&';
            var txt = new RegExp('[\*,\&,\\,\/,\?,\|,\;,\<,\>,\"]');
            if(txt.test(name)){
                alert('包含');
            }else{
                alert('不包含');
            }
        }
    </script>
</head>
<body>

</body>
</html> 

<!DOCTYPE html>




<br> function submitRex(){<br> var name =&quot;123456&amp;*&quot;<br> var txt = new RegExp(&quot;[*,&amp;,\,\/,\?,|,:,&lt;,&gt;,\&quot;]&quot;); <br> var arr=name.split(&quot;&quot;);<br> for (var i=0;i<arr.length;i++) {<br> var flag=txt.exec(arr[i])<br> if(flag!=null){<br> alert(flag+"字符在数组中");<br> }<br> };<br> }<br>




var txt = new RegExp("[*,&,\,\/,\?,|,:,<,>,\",<scrīpt>]");
var name ="123asd"
if(txt.test(name)){
alert('包含');
}else{
alert('不包含');
}
这样也不通过