【发布时间】:2010-09-12 08:25:42
【问题描述】:
我有一个运行用户生成的正则表达式的函数。但是,如果用户输入了一个不会运行的正则表达式,那么它就会停止并跌倒。我已经尝试将该行包装在 Try/Catch 块中,但没有任何反应。
如果有帮助,我正在运行 jQuery,但下面的代码没有它,因为我猜它比这更基础。
编辑:是的,我知道我没有逃避“[”,这是故意的,也是问题的重点。我正在接受用户输入,并且我想找到一种方法来解决此类问题,而不会让应用程序一蹶不振。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>Regex</title>
<script type="text/javascript" charset="utf-8">
var grep = new RegExp('gr[');
try
{
var results = grep.exec('bob went to town');
}
catch (e)
{
//Do nothing?
}
alert('If you can see this then the script kept going');
</script>
</head>
<body>
</body>
</html>
【问题讨论】:
-
我确实校对了至少 4 次。这是一个别人在发现你犯的愚蠢错误方面做得更好的例子,你可能自己也遇到过。
-
@Geoffrey:实际上,它是 JavaScript。
标签: javascript regex try-catch