字符串匹配(Javascript)
我有以下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
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。