js 判断是否包含字符串

JavaScript037

js 判断是否包含字符串,第1张

可以使用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>

这个相对简单!下面是判断字符串是否为空的Javascript函数:

代码如下:

//return 返回true说明为空字符串 否则为非空字符串

function isEmptyString(str){

  return /^\s+$/.test(str)

}

isEmptyString("   ")&&alert("空字符串")

!isEmptyString("百度知道")&&alert("非空字符串")

1、用正则表达式判断

<input type="text" id="name" placeholder="请输入用户名" value="" onblur="CheckChinese('name',this.value)" class="form-control">

function CheckIsChinese(obj,val){

var reg = new RegExp("[\\u4E00-\\u9FFF]+","g")

if(reg.test(val)){alert("包含汉字!")}

}

2、用 Unicode 字符范围判断

function chkstrlen(str){

var strlen = 0

for(var i = 0i <str.lengthi++){

if(str.charCodeAt(i) >255) //如果是汉字,则字符串长度加2

strlen += 2

else

strlen++

}

return strlen

}