js 如何判断输入的字符串中含有特殊字符。最好有例子啊

JavaScript08

js 如何判断输入的字符串中含有特殊字符。最好有例子啊,第1张

可以用正则表达式判断.

function illegalChar(str)

{

var pattern=/[`~!@#$%^&*()_+<>?:"{},.\/'[\]]/im

if(pattern.test(str)){

return false

}

return true

}

上面这段函数是判断str是不是特殊字符的,如果我想动态传入一个参数字符,如果这个参数字符包含在特殊字符里面,就放行

1、用RegExp的exec()方法,该方法每次返回一个匹配,找不到时返回null

2、例如,str='1111哈哈    嘿嘿',第一次re.exec(str)返回'哈哈',第二次re.exec(str)返回'嘿嘿',第三次返回null。如下图:

可以使用JavaScript原生自带的indexof方法。

定义和用法

indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。

语法

stringObject.indexOf(searchvalue,fromindex)

参数

searchvalue    必需。规定需检索的字符串值。  

fromindex    可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的首字符开始检索。  

说明

该方法将从头到尾地检索字符串 stringObject,看它是否含有子串 searchvalue。开始检索的位置在字符串的 fromindex 处或字符串的开头(没有指定 fromindex 时)。如果找到一个 searchvalue,则返回 searchvalue 的第一次出现的位置。stringObject 中的字符位置是从 0 开始的。

提示和注释

注释:indexOf() 方法对大小写敏感!

注释:如果要检索的字符串值没有出现,则该方法返回 -1。

小例子,仅供参考:

<script type="text/javascript">

    var str="Hello world!"

    document.write(str.indexOf("Hello") + "<br />")

    document.write(str.indexOf("World") + "<br />")

    document.write(str.indexOf("world"))

</script>