.net中,aspx文件是这样写的:
<asp:RegularExpressionValidator id="URLValid" runat="server" ControlToValidate="URLBox" Display="None"
ValidationExpression="http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?"></asp:RegularExpressionValidator>现在我要把这里的东西删掉,把url的check搬到JS里.我的JS里是这样写的:
var url = document.getElementById("URL").value;
var urlRegex = "http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?";
var re = new RegExp(urlRegex);
if(re.test(url))
{
return true;
}
else
{
alert("wrong!");
return false;
}这时候会报错,好像是urlRegex写错了....
但我不知道怎么改
各位帮帮忙,谢谢
<asp:RegularExpressionValidator id="URLValid" runat="server" ControlToValidate="URLBox" Display="None"
ValidationExpression="http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?"></asp:RegularExpressionValidator>现在我要把这里的东西删掉,把url的check搬到JS里.我的JS里是这样写的:
var url = document.getElementById("URL").value;
var urlRegex = "http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?";
var re = new RegExp(urlRegex);
if(re.test(url))
{
return true;
}
else
{
alert("wrong!");
return false;
}这时候会报错,好像是urlRegex写错了....
但我不知道怎么改
各位帮帮忙,谢谢
var urlRegex ="<(.*)>.*<\/\1>|<(.*) \/>"
是“^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$”
var s;
var re = new RegExp("d(b+)(d)","ig");
var str = "cdbBdbsbdbdz";
var arr = re.exec(str);
s = "$1 contains: " + RegExp.$1 + "\n";
s += "$2 contains: " + RegExp.$2 + "\n";
s += "$3 contains: " + RegExp.$3;
return(s);
}
var urlRegex ="^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$";
楼上的,我原来的是,你的是
http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$
为什么([w-]+.)跟我的([\w-]+\.)不一样,少了个\,是有意为之,還是?
还有(/[\w- ./?%&=]*)?后面加个$是干什么的?
麻烦各位把aspx里的翻译到js里就行了,不要自己再加东西,谢谢
//var urlRegex = "http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?";
//var re = new RegExp(urlRegex);
var re = new RegExp(/http:\/\/([\w-]+\.)+[\w-]+(/[\w- \.\/\?%&=]*)?/);
if(re.test(url))
{
return true;
}
else
{
alert("wrong!");
return false;
}
<script type="text/javascript">
<!--
var url = "http://www.csdn.net";
var re = /http:\/\/([\w-]+\.)+[\w-]+(\/[-\w \.\/\?%&=]*)?/i;
if(re.test(url))
{
alert("true")
}
else
{
alert("wrong!");
} //-->
</script>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>
<style type="text/css">
body,td,div,input,fieldset,legend{font-family:Verdana; font-size:12px; color:#333333; font-weight:normal;}
a:link,a:visited{font-family:Verdana; font-size:12px; color:#330099; font-weight:normal; }
a:hover,a:active{font-family:Verdana; font-size:12px; color:#FF6600; font-weight:normal; }
span{font-family:Verdana; font-size:12px; color:red; font-weight:normal; padding-left:5px; margin:0px 10px;}
</style>
<script language="javascript" type="text/javascript">
function doCHK()
{
var reg=RegExp(/(http:\/\/www\.)(\w*)\.com\/(.*$)/ig); //根据你的需要修改....
var url; //="http://www.xxx.com/123456";
url=document.getElementById("content1").value;
if(reg.test(url))
alert("匹配");
else
alert("不匹配");
}
</script>
<body>
<p>
一个正则匹配网址问题<br>
<input name="content1" type="text" id="content1" value="http://www.xxx.com/123456" size="60">
<input name="BTN01" value="Test" type="button" onClick="javascript:doCHK();">
<br>
<br>
匹配模型为: http://www.<font color="#FF0000">xxx</font>.com/<font color="#FF0000">123xyz</font>
红色部分的内容,前一个匹配为0-9,a-z,A-Z;后一个匹配是任意字符</p>
</body>
</html>
一般直接var re=/http:\/\/www\.)(\w*)\.com\/(.*$)/gi;