http://harveyzeng.iteye.com/blog/1776991
javascript
DNS規定,域名中的標號都由英文字母和數字組成,每個標號不超過63個字符,也不區分大小寫字母。標號中除連字符(-)外不能使用其餘的標點符號。級別最低的域名寫在最左邊,而級別最高的域名寫在最右邊。由多個標號組成的完整域名總共不超過255個字符。css
由此匹配完整域名的正則表達式:html
^(?=^.{3,255}$)[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+$java
例如:baidu.com jquery
匹配網址:正則表達式
^(?=^.{3,255}$)(http(s)?:\/\/)?(www\.)?[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+(:\d+)*(\/\w+\.\w+)*$瀏覽器
例如: http://www.baidu.comide
匹配http url:函數
^(?=^.{3,255}$)(http(s)?:\/\/)?(www\.)?[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+(:\d+)*(\/\w+\.\w+)*([\?&]\w+=\w*)*$ui
例如: http://www.tetet.com/index.html?q=1&m=test
代碼實例:
正則表達式應用:
http://www.cnblogs.com/luluping/archive/2008/05/04/1181434.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test</title>
<script type="text/javascript" language="javascript" src="jquery.js"></script>
<script type="text/javascript" language="javascript" >
function validata(){
if($("#username").val()==""){
document.write("請輸入名字");
return false;
}
if($("#password").val()==""){
document.write("請輸入密碼");
return false;
}
if($("#telephone").val()==""){
document.write("請輸入電話號碼");
}
if($("#email").val()==""){
$("#email").val("shuangping@163.com");
}
}
function isInteger(obj){
reg=/^[-+]?\d+$/;
if(!reg.test(obj)){
$("#test").html("<b>Please input correct figures</b>");
}else{
$("#test").html("");
}
}
function isEmail(obj){
reg=/^\w{3,}@\w+(\.\w+)+$/;
if(!reg.test(obj)){
$("#test").html("<b>請輸入正確的郵箱地址</b>");
}else{
$("#test").html("");
}
}
function isString(obj){
reg=/^[a-z,A-Z]+$/;
if(!reg.test(obj)){
$("#test").html("<b>只能輸入字符</b>");
}else{
$("#test").html("");
}
}
function isTelephone(obj){
reg=/^(\d{3,4}\-)?[1-9]\d{6,7}$/;
if(!reg.test(obj)){
$("#test").html("<b>請輸入正確的電話號碼!</b>");
}else{
$("#test").html("");
}
}
function isMobile(obj){
reg=/^(\+\d{2,3}\-)?\d{11}$/;
if(!reg.test(obj)){
$("#test").html("請輸入正確移動電話");
}else{
$("#test").html("");
}
}
function isUri(obj){
reg=/^http:\/\/[a-zA-Z0-9]+\.[a-zA-Z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/;
if(!reg.test(obj)){
$("#test").html($("#uri").val()+"請輸入正確的inernet地址");
}else{
$("#test").html("");
}
}
//document加載完畢執行
$(document).ready(function() {
// do something here
//隔行換色功能
$("p").each(function(i){
this.style.color=['red','green','blue','black'][i%2]
});
//eq(2)獲取$("p")集合的第3個元素
$("p").eq(2).click(function(){$("#display").css("color","blue")});
//全部test中的p都附加了樣式"over"。
$("#test>p").addClass("over");
//test中的最後一個p附加了樣式"out"。
$("#test p:last").addClass("out");
//選擇同級元素還沒看懂
//$('#faq').find('dd').hide().end().find('dt').click(function()
//選擇父級元素
$("a").hover(
function(){$(this).parents("p").addClass("out")},
function(){$(this).parents("p").removeClass("out")})
//hover鼠標懸停效果,toggle每次點擊時切換要調用的函數 ,
//trigger(eventtype): 在每個匹配的元素上觸發某類事件,
//bind(eventtype,fn),unbind(eventtype): 事件的綁定與反綁定從每個匹配的元素中(添加)刪除綁定的事件。
//方法的連寫
$("#display").hover(function(){
$(this).addClass("over");
},function(){
$(this).removeClass("over");
})
.click(function(){alert($("#display").text())});
if($.browser.msie){//判斷瀏覽器,如果ie則執行下面的功能
//聚焦
$("input[@type=text],textarea,input[@type=password]")
.focus(function(){$(this).css({background:"white",border:"1px solid blue"})})
//也能夠這樣連着寫,
//.blur(function(){$(this).css({background:"white",border:"1px solid black"})})
//失去焦點
//css樣式能夠經過addClass()來添加
$("input[@type=text],textarea,input[@type=password]")
.blur(function(){$(this).css({background:"white",border:"1px solid black"});});
}
});
</script>
<style type="text/css">
.over{
font-size:large;
font-style:italic;
}
.out{
font-size:small;
}
</style>
</head>
<body >
<div id="display">demo</div>
<div id="test">
<p>adfa<a>dfasfa</a>sdfasdf</p>
<p>adfadfasfasdfasdf</p>
<p>adfadfasfasdfasdf</p>
<p>adfadfasfasdfasdf</p>
</div>
<form id="theForm">
isString<div><input type="text" id="username" onblur="isString(this.value)"/></div>
isInteger<div><input type="text" id="password" onblur="isInteger(this.value)"/></div>
isTelephone<div><input type="text" id="telephone" onblur="isTelephone(this.value)"/></div>
isMobile<div><input type="text" id="mobile" onblur="isMobile(this.value)"/></div>
isEmail<div><input type="text" id="email" onblur="isEmail(this.value)"/></div>
isUri<div><input type="text" id="uri" onblur="isUri(this.value)"/></div>
<div><input type="button" value="Validata" onclick="return validata();" /></div>
</form>
</body>
</html>