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

如何在JavaScript中检查字符串是否包含句点?,javascript,regex,string,Javascript,Regex,String,我希望能够检测字符串是否有。在此基础上返回true/false 例如: "myfile.doc" = TRUE var test="myfile.doc" if (test.indexOf('.')) {alert("Period found!";} else {alert("Period not found. Sorry!";} vs 一些简单的正则表达式就可以了 if (myString.match(\.)) { doSomething(); } 只需测试indexOf方法

我希望能够检测字符串是否有。在此基础上返回true/false

例如:

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


一些简单的正则表达式就可以了

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

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

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

例如:

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

var str=“myfile.doc”;
var str2=“mydirectory”;
如果(str.indexOf('.')!=-1)
{
//将为true。在文件名中找到句点
console.log(“在str中找到”)
}
if(str2.indexOf('.')!=-1)
{
//将为false。在目录名中找不到句点。此操作将不会运行。
console.log(“在str2中找到”)

}
只是为了补充已经说过的话:

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

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

我倾向于喜欢这类事情,因为它(相对地)明确了一个方法的作用。

我知道这是一个老问题,但这里有一种新的解决方法(旧浏览器不支持->):


indexOf
在找不到字符时返回-1,而不是0。您应该将其与-1而不是0进行比较;如果第一个字符是句点,indexOf()将返回0。哈哈,这就是当您想到strpos()和编码indexOf()时发生的情况:)
if(test.indexOf('.'))
测试
indexOf
是否返回0,而不是它应该测试的-1,因此,您的代码将不带句点的字符串视为有句点,以句点开头的字符串视为缺少句点。找到工作了!