如何检查我的字符串是否包含JavaScript中的句点?

时间:2011-07-03 00:15:20

标签: javascript regex string

我希望能够检测字符串是否有。在其中并基于此返回true / false。

例如:

"myfile.doc" = TRUE

VS

"mydirectory" = FALSE;

6 个答案:

答案 0 :(得分:28)

使用indexOf()

var str="myfile.doc";
var str2="mydirectory";

if(str.indexOf('.') !== -1)
{
  // would be true. Period found in file name
  console.log("Found . in str")
}

if(str2.indexOf('.') !== -1)
{
  // would be false. No period found in directory name. This won't run.
  console.log("Found . in str2")
}

答案 1 :(得分:7)

只需测试indexOf方法的返回值:someString.indexOf('.') != -1。不需要正则表达式。

答案 2 :(得分:1)

一些简单的正则表达式会做。

 if (myString.match(\.)) {
   doSomething();
 }

答案 3 :(得分:1)

只是添加到已经说过的内容:

关于这是否是一个好主意存在不同意见,但如果您愿意,可以使用String方法扩展所有contains个实例:

String.prototype.contains = function(char) {
    return this.indexOf(char) !== -1;
};

我倾向于喜欢这种事情,当它(相对)明确一种方法将会做什么。

答案 4 :(得分:1)

我知道这是一个老问题,但这是一种新方法(在旧浏览器中不支持):

str.includes('.'); //returns true or false

docs

答案 5 :(得分:0)

使用indexOf。它返回一个显示子字符串位置的整数,如果未找到则返回-1。

例如:

var test="myfile.doc"
if (test.indexOf('.')) {alert("Period found!";}
else {alert("Period not found.  Sorry!";}