字符串匹配(Javascript)

字符串匹配(Javascript),javascript,function,string,Javascript,Function,String,我有以下javascript函数: function fun1() { ... return 'Over'; } function fun2() { ... return 'Hello'; } function fun3() { .. return 'Over'; } function fun4() { .. return 'Over'; } function fun5() { ... return 'Bye'; } .... var errmsg=''; errmsg+=fun1(); e

我有以下javascript函数:

function fun1()
{
...
return 'Over';
}
function fun2()
{
...
return 'Hello';
}
function fun3()
{
..
return 'Over';
}

function fun4()
{
..
return 'Over';
}
function fun5()
{
...
return 'Bye';
}
....
var errmsg='';

errmsg+=fun1();
errmsg+=fun2();
errmsg+=fun3();

var newmsg = errmsg;

if (newmsg.match('Over'))
{
checklist();
}
因此,根据代码,如果fun1()和fun2()为true,则errmsg='OverHello',如果fun1()和fun3()为true,则errmsg='OverOver'

我希望newmsg只与返回“Over”的函数匹配……因此,如果errmsg='Over'或'OverOver'等等,它只会运行函数checklist()

有没有办法,我可以使用字符串方法(如match、contains等)检查这个条件

请提供帮助。

javascript中有一个用于字符串对象的match()函数

您可以按如下方式使用它

var pattern=/over/gi;
alert(errmsg.match(pattern));
javascript中的字符串对象有一个match()函数

您可以按如下方式使用它

var pattern=/over/gi;
alert(errmsg.match(pattern));

也许您可以替换字符串中的所有“Over”文本。如果在该操作后留下任何文本,则字符串中包含的内容不是“结束”,并且您的检查返回false

也许您可以替换字符串中的所有“结束”文本。如果在该操作后留下任何文本,则字符串包含的内容不是“Over”,并且您的检查返回false

以下测试将解决您的要求:

errmsg.match(/^(Over)+$/)

以下测试应能满足您的要求:

errmsg.match(/^(Over)+$/)

Thx-Ammu。但是这个函数类似于我在代码中已经使用过的函数。:)实际上,我们正在向match()函数传递一个正则表达式,以便它可以返回errmsg中出现的所有“over”。试试这个片段。var str=“HelloOver”;警报(str.match(/over/gi))//这将发出警报——警报(str.match(over))//这将一无所获啊,是的!你说得对。我试过了,效果很好!Thx AmmuThx Ammu。但是这个函数类似于我在代码中已经使用过的函数。:)实际上,我们正在向match()函数传递一个正则表达式,以便它可以返回errmsg中出现的所有“over”。试试这个片段。var str=“HelloOver”;警报(str.match(/over/gi))//这将发出警报——警报(str.match(over))//这将一无所获啊,是的!你说得对。我试过了,效果很好!Thx AMMUCA您能告诉我在这种情况下如何使用替换功能吗?Thx@Gin:try str.replace(/over/gi,“”)您能告诉我在这种情况下如何使用replace函数吗?Thx@Gin:try str.replace(/over/gi,“”)+1我忘记了答案中的^&$。但是请注意,这将返回匹配的字符串,而不是true/false。+1我忘记了答案中的^&$。但是请注意,这将返回匹配的字符串,而不是true/false。