Safari Javascript中的错误? [英] Bug in Safari Javascript?

查看:77
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆