Safari Javascript中的错误? [英] Bug in Safari Javascript?
问题描述
运行下面的代码时,所有浏览器都会显示Hello World。除了Safari之外无法匹配
正则表达式。另请参见 http://www.testabc.nl/safari/test.html
当我改变[^ A] *?进入。*?或者在字符串末尾添加一个空格Safari正常工作
再次。
我想这是Safari Javascript中的一个错误,还是?
< html>
< head>
< script language = JavaScript type = text / javascript>
var reg_date = /(Hello [^ A] *?)\ * * $ /;
var str =''开始:Hello world' ';
功能显示()
{
if(str.search(reg_date)!= - 1)警报(RegExp。$ 1);
其他警报(不匹配......);
}
< / script>
< / head>
< body>
< h3> Javascript代码:< / h3>
< div> var reg_date = /(Hello [^ A] *?)\ * * $ /;< / div> ;
< div> var str =''开始:Hello world'';< / div>
< div> if(str.search(reg_date) != -1)警报(RegExp。$ 1);< / div>
< divelse alert(" No match .. 。");< / div>
< p>< button onclick =" show();"> start< / button>< / p> ;
< / body>
< / html>
/;
var str =''开始:Hello world'';
函数show()
{
if(str.search(reg_date)!= -1)alert(RegExp。
1);
else alert(" ;不匹配...);
}
< / script>
< / head>
< body>
< h3> Javascript代码:< / h3>
< div> var reg_date = /(Hello [^ A] *?)\ * *
/;< / div>
< div> var str =''开始:Hello world'';< / div>
< div> if(str.search(reg_date)!= -1)alert(RegExp。
When running the code below, all browsers are showing "Hello World" except Safari which cannot match
the regular expression. See also http://www.testabc.nl/safari/test.html
When I change [^A]*? into .*? or add a space at the end of the string Safari is working alright
again.
I guess this is a bug in Safari Javascript, or?
<html>
<head>
<script language=JavaScript type=text/javascript>
var reg_date = /(Hello[^A]*?)\s*$/;
var str = ''Start: Hello world'';
function show()
{
if(str.search(reg_date) != -1) alert(RegExp.$1);
else alert ("No match...");
}
</script>
</head>
<body>
<h3>Javascript code:</h3>
<div>var reg_date = /(Hello[^A]*?)\s*$/;</div>
<div>var str = ''Start: Hello world'';</div>
<div>if(str.search(reg_date) != -1) alert(RegExp.$1);</div>
<divelse alert ("No match...");</div>
<p><button onclick="show();">start</button></p>
</body>
</html>
/;
var str = ''Start: Hello world'';
function show()
{
if(str.search(reg_date) != -1) alert(RegExp.
1);
else alert ("No match...");
}
</script>
</head>
<body>
<h3>Javascript code:</h3>
<div>var reg_date = /(Hello[^A]*?)\s*
/;</div>
<div>var str = ''Start: Hello world'';</div>
<div>if(str.search(reg_date) != -1) alert(RegExp.
这篇关于Safari Javascript中的错误?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!