jQuery:检查字符是否在字符串中

25

我想使用jQuery最简单的方式来检查变量中是否包含下划线 (_),并在变量中不存在下划线时执行某些操作。

if ( '_ is not in var') {
   // Do
}

谢谢!

2个回答

61
var str = "i am a string with _";
if (str.indexOf('_') == -1) {
   // will not be triggered because str has _..
}

正如评论区下面spender所说,jQuery不是必需的...indexOf是一个原生的JavaScript函数


2
很可能需要向OP强调解决方案不需要jQuery,正如所示。 - spender
值得注意的是,这不是jQuery,而是基本的JavaScript,因此即使没有加载jQuery也可以使用。当然,答案是正确的,只是在回答问题时需要额外注意。 - Chris

14

有几种方法可以做到这一点。

  1. indexOf() 方法:

if( str.indexOf('_') != -1 ){
   //do something
}
else{
   //do something 
} 
  • Search() 方法:

     if( str.search("_")!=-1 ){
       //do something
     } 
     else {
      //Do something 
     }
    
  • :contains()选择器:

     if( $("p:contains(_)") ).length{
       //Do something
     }
     else{
       //Do something
     }
    
  • 使用正则表达式:

     if( str.match(/_/g) ).length{
       //Do something
     }
     else{
       //Do something
     }
    
  • 我认为第一种方法是最简单的方式。


    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接