我希望能够检测字符串是否有。在其中并基于此返回true / false。
例如:
"myfile.doc" = TRUE
VS
"mydirectory" = FALSE;
答案 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)
答案 5 :(得分:0)
使用indexOf。它返回一个显示子字符串位置的整数,如果未找到则返回-1。
例如:
var test="myfile.doc"
if (test.indexOf('.')) {alert("Period found!";}
else {alert("Period not found. Sorry!";}