检测Javascript字符串中是否存在特定模式

检测Javascript字符串中是否存在特定模式,javascript,regex,string,indexof,Javascript,Regex,String,Indexof,如何搜索Javascript字符串是否包含以下模式: “@aRandomString.temp” 我想知道字符串是否包含@character,然后是任意字符串,然后是“.temp”字符串 谢谢使用indexOf查找字符串中的字符串 var string = "@aRandomString.temp"; var apos = string.indexOf("@"); var dtemp = string.indexOf(".temp", apos); // apos as offset, inva

如何搜索Javascript字符串是否包含以下模式:

“@aRandomString.temp”

我想知道字符串是否包含@character,然后是任意字符串,然后是“.temp”字符串


谢谢

使用
indexOf
查找字符串中的字符串

var string = "@aRandomString.temp";
var apos = string.indexOf("@");
var dtemp = string.indexOf(".temp", apos); // apos as offset, invalid: ".temp @"
if (apos !== -1 && dtemp !== -1) {
    var aRandomString = string.substr(apos + 1, dtemp - apos);
    console.log(aRandomString); // "aRandomString"
}

您可以使用匹配功能。 match需要正则表达式

function myFunction()
{
    var str="@someting.temp"; 
    var n=str.test(/@[a-zA-Z]+\.temp/g);
}
这是一个演示:

你可以试试这个

var str = "@something.temp";

if (str.match("^@") && str.match(".temp$")) {

}

此一行程序应使用以下方法完成工作:


问题要求的是“包含”,而不是“是”。另外,忘记了转义正则表达式,您应该使用
test
而不是
match
那么
.temp
部分呢?另外,使用
test
而不是
match
。我在regexp中有它:(/@[a-zA-Z]+\。temp@Bergi我假设字符串只包含字母我不理解(+1),但您的解决方案有点复杂:-)OP只想知道匹配是否存在,而不是随机字符串是什么。带有“随机字符串”的模式不是“特定字符串”:-)您可以修复您的标题…
var s = 'foo bar @aRandomString.temp baz';
found = /@.*?\.temp/i.test(s); // true