2010-10-12 77 views
0

在我们使用下面的代码来阻止URL链接通过文本框或textarea的传递形式提交(对于避免不良链接阻止垃圾邮件的链接在ASP

从联系表格传递)PHP如何。是有什么梅索德像使用vb的经典asp一样。

if($_POST['Register']) 
{ 
    $username=$_POST['username']; 
    if (preg_match('~(?:[a-z0-9+.-]+://)?(?:\w+\.)+\w{2,6}\S*~i', $username)) 
    { 
     die('Access Denied Avoid Link'); 

    } 
} 

我用下面的代码在ASP,但显示错误

<%@Language="VBScript%"> 
<% 
Option Explicit 

Dim Address 
Address = Request("Address") 

if(!preg_match("/^[a-zA-Z]+[:\/\/]+[A-Za-z0-9\-_]+\\.+[A-Za-z0-9\.\/%&=\?\-_]+$/i",& Address&)) 
{ 
Echo"Access Denied Avoid Link."; 
Response.End 
'Exit(); 
} 
%> 

回答

0

你需要使用RegExp对象,一个简单的例子是在VBScript

Dim re 
Set re = New RegExp 

re.Pattern = "^Hello.*" ' Replace with your regexp pattern 
re.IgnoreCase = True 

result = re.Test("Hello world") ' Returns boolean 
If result Then 
    ' Found! 
Else 
    ' Not found :-(
End If 
Set re = Nothing 

正则表达式语法可能与PHP有点不同,所以你可能需要稍微翻译你的正则表达式。有关Microsoft RegExp类的更多详细信息,请参阅http://msdn.microsoft.com/en-us/library/ms974570.aspx