如何在JS中判断两个字符串中有相同的字符

JavaScript06

如何在JS中判断两个字符串中有相同的字符,第1张

var str1="abc"

var str2="bde"

var i

for(i=0i<=str1.length-1i++)

{

if (str2.indexOf(str1.substr(i,1))!=-1)

{

alert('有相同的字符')

break

}

else

if (i==str1.length-1) alert('无相同字符')

}

function check( str ) {

    

    while( str.length ) { 

        // 取字符串的第一个字符,在剩余的字符中查找,如果找到,说明有重复

        if( str.slice(1).indexOf( str.charAt( 0 ) ) > -1 ) {

        

            return true 

        

        }

        

        // 如果没找到,把字符串去掉第一个字符,继续查找

        str = str.slice(1)

    

    }

    return false

}

check( 'abcdefg' ) // return false

check( 'abcdefta' ) // return true

还可以通过正则表达式来实现,就一行代码:

function check( str ) {

    return /(.).*?\1/.test( str )

}