搜尋此網誌
2013年2月6日 星期三
2011年12月6日 星期二
asp讀取資料庫範例碼(較正規)
dim DSN, Conn, Rs
DSN = "Driver={SQL Server};Server=dbname;UID=id;PWD=password;"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open DSN
Set Rs = Server.CreateObject("ADODB.Recordset")
Rs.Open "Select * From [db].dbo.[table] Where 1 = 1", Conn, 3, 1
If Rs.RecordCount > 0 And Not Rs.EOF Then
response.write(Rs(0))
End If
Rs.Close: Set Rs = Nothing
Conn.Close: Set Conn = Nothing
2011年11月15日 星期二
取得目前的物件XY座標(取得取物件定位)
寫js時, 三不五時會用到的
就是要找物件的xy座標來做定位
這時, 就要借用offset屬性了
var obj = document.getElementById('theobj.id');
var x = obj.offsetLeft;
var y = obj.offsetTop;
alert('x:'+x+', y:'+y);
2011年9月15日 星期四
在WIN7裡IE8的開發人員工具打不開的解決辦法
IE8新增了開發人員工具,非常不錯,比早期的DevToolbar好用多了。不過在我的Win7下使用的時候偶爾會出現一個莫名其妙的問題,就是整個開發人員工具窗口消失了,打不開了。當你使用win+Tab切換窗口的時候,整個開發者工具光是顯示一片透明的區域,選中之後怎麼都出不來。這個問題那會困擾了我很久,後來發現一個辦法可以解決。就是在工具欄上將鼠標移到那個開發人員工具窗口圖標上,注意,是圖標,不是窗口。然後右鍵,選擇最大化,這個時候,熟悉的開發人員工具窗口就出現了。
2011年9月6日 星期二
JavaScript 字串轉型成數字
Javascript 據我所知有三種方法可以把字串變成數字。
第一種就是最常見的 parseInt 函式 。
另外一種則是利用 Number 這個類別轉換。
還有一個比較少人知道的則是利用減法運算元,例如:var j="123"-0;
javascript 增加表單中select的option
其實不會很難(爆)
js的部份
清除所有項目更簡單
<script>
document.getElementById("xxxx").length = 0;
</script>
或
<script>
var s = document.getElementById("xxxx")
s.length = 0;
</script>
js的部份
function add_option()html的部份
{
//先用getElementById取得select的id
var s = document.getElementById('go');
//這兩個可以用其他方式取得,端看怎麼使用
var t = document.getElementById('t').value;
var v = document.getElementById('v').value;
var ori_count = s.length;
//其實重點只有下面這兩行XD
var new_option = new Option(t,v);
s.options.add(new_option);
var new_count = s.length;
//這邊只是要驗證是不是有增加成功
//新的option個數會比原本的個數多
if( new_count > ori_count )
alert('新增成功');
else
alert('新增失敗');
}
<select name="go" id="go">這裡可以看範例
<option value="">請選擇</option>
<option value="apple" selected>蘋果</option>
<option value="banana" >香蕉</option>
</select>
<br />
值:<input type="text" name="v" id="v"><br />
文字:<input type="text" name="t" id="t"><br />
<input type="button" onclick="add_option()" value="新增option">
清除所有項目更簡單
<script>
document.getElementById("xxxx").length = 0;
</script>
或
<script>
var s = document.getElementById("xxxx")
s.length = 0;
</script>
2011年8月22日 星期一
2011年8月18日 星期四
javascript的正則運算式
//校驗是否全由數字組成
function isDigit(s)
{
var patrn=/^[0-9]{1,20}$/;
if (!patrn.exec(s)) return false
return true
}
//校驗登錄名:只能輸入5-20個以字母開頭、可帶數位、“_”、“.”的字串
function isRegisterUserName(s)
{
var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;
if (!patrn.exec(s)) return false
return true
}
//校驗用戶姓名:只能輸入1-30個以字母開頭的字串
function isTrueName(s)
{
var patrn=/^[a-zA-Z]{1,30}$/;
if (!patrn.exec(s)) return false
return true
}
//校驗密碼:只能輸入6-20個字母、數位、下劃線
function isPasswd(s)
{
var patrn=/^(w){6,20}$/;
if (!patrn.exec(s)) return false
return true
}
//校驗普通電話、傳真號碼:可以“+”開頭,除數字外,可含有“-”
function isTel(s)
{
//var patrn=/^[+]{0,1}(d){1,3}[ ]?([-]?(d){1,12})+$/;
var patrn=/^[+]{0,1}(d){1,3}[ ]?([-]?((d)|[ ]){1,12})+$/;
if (!patrn.exec(s)) return false
return true
}
//校驗手機號碼:必須以數位開頭,除數字外,可含有“-”
function isMobil(s)
{
var patrn=/^[+]{0,1}(d){1,3}[ ]?([-]?((d)|[ ]){1,12})+$/;
if (!patrn.exec(s)) return false
return true
}
//校驗郵遞區號
function isPostalCode(s)
{
//var patrn=/^[a-zA-Z0-9]{3,12}$/;
var patrn=/^[a-zA-Z0-9 ]{3,12}$/;
if (!patrn.exec(s)) return false
return true
}
//校驗搜索關鍵字
function isSearch(s)
{
var patrn=/^[^`~!@#$%^&*()+=|\][]{}:;',.<>/?]{1}[^`~!@$%^&()+=|\][]{}:;',.<>?]{0,19}$/;
if (!patrn.exec(s)) return false
return true
}
function isIP(s) //by zergling
{
var patrn=/^[0-9.]{1,20}$/;
if (!patrn.exec(s)) return false
return true
}
正則運算式
"^\d+$" //非負整數(正整數 + 0)
"^[0-9]*[1-9][0-9]*$" //正整數
"^((-\d+)|(0+))$" //非正整數(負整數 + 0)
"^-[0-9]*[1-9][0-9]*$" //負整數
"^-?\d+$" //整數
"^\d+(\.\d+)?$" //非負浮點數(正浮點數 + 0)
"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$" //正浮點數
"^((-\d+(\.\d+)?)|(0+(\.0+)?))$" //非正浮點數(負浮點數 + 0)
"^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$" //負浮點數
"^(-?\d+)(\.\d+)?$" //浮點數
"^[A-Za-z]+$" //由26個英文字母組成的字串
"^[A-Z]+$" //由26個英文字母的大寫組成的字串
"^[a-z]+$" //由26個英文字母的小寫組成的字串
"^[A-Za-z0-9]+$" //由數位和26個英文字母組成的字串
"^\w+$" //由數位、26個英文字母或者下劃線組成的字串
"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$" //email地址
"^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$" //url
2011年8月16日 星期二
JavaScript 和 VBScript 的混用
有時因為種種原因我們想在javascript中實現一些vbscript的功能,例如:想在javascript中去除某個字符串兩邊的空格,這個功能是vbscript的trim函數,可是javascript中卻沒有類似的函數,當然,我們可以自己構造一個函數,但更為簡單的辦法是讓javascript和vbscript混用,實現如下:
<script language=vbscript>
function vbtrimstr(temstr)
vbtrimstr=trim(temstr)
end function
</script>
<script language=javascript>
function trimstr(temstr){
return vbtrimstr(temstr);
}
</script>
又如javascript的alert和confirm方法都不能更改其標題欄的內容,可是vbscript的msgbox函數可以,透過如下的方法就可完成實現:
<script language=vbscript>
function tc()
msgbox "測試測試"
end function
</script>
<script language=javascript>
function javatc(){
tc();
}
</script>
2011年8月15日 星期一
2011年8月12日 星期五
JavaScript 取得目前網址 (以及其他資訊)
假設現在我有個網頁,網址是:http://functionlab.org:80/tools/tcpproxy.php?user=FUNction#showscript
如果這網頁上有以下JavaScript 程式碼
<script type="text/javascript">
//http://www.w3schools.com/htmldom/dom_obj_location.asp
document.write("location.href : "+location.href+"<br/>");
document.write("location.protocol : "+location.protocol+"<br/>");
document.write("location.hostname : "+location.hostname+"<br/>");
document.write("location.host : "+location.host+"<br/>");
document.write("location.port : "+location.port+"<br/>");
document.write("location.pathname : "+location.pathname+"<br/>");
document.write("location.search : "+location.search+"<br/>");
document.write("location.hash : "+location.hash+"<br/>");
</script>
那該網頁會顯示:
location.href : http://functionlab.org:80/tools/tcpproxy.php?user=FUNction#showscript
location.protocol : http
location.hostname : functionlab.org
location.host : functionlab.org:80
location.port : 80
location.pathname : /tools/tcpproxy.php
location.search : ?user=FUNction
location.hash : #showscript
天哪!! 真是方便 :-)
2011年7月8日 星期五
ASP.Net 中 Alert、Confirm、Prompt 的用法
Asp.net中,有的時候在執行某個操作的時候希望能夠彈出一些信息框:alert彈出的警告信息框,confirm彈出的包含確認和取消兩個按鈕的信息框,以及prompt彈出的輸入對話框。
這裡有兩種方法來實現。
一種是採用javascript函數來實現,代碼將應用與.aspx文件的源代碼(html語言)中,在HTML控件中調用javascript函數來實現Alert、Confirm、Prompt。
另一種則是在web窗體的.aspx.cs文件中使用。 alert和prompt可以用Response.Write()來直接使用,Confirm則需要將其加入到Web服務器控件的屬性上。 下面我們就分別針對這兩種方法來舉幾個例子。
1、我們創建兩個HTML按鈕來分別調用javascript函數,一個按鈕用來彈出confirm信息框,另一個用來彈出prompt信息框,操作結果用alert彈出。
代碼:
<html>
<head>
<title></title>
<script language="ecmascript">
<!--
function delCheck()
{
var flag=window.confirm("確實要刪除嗎?");
if(flag==true)
alert("已經刪除!");
}
function dataCheck()
{
var data=window.prompt("輸入一個1-10之間的數","7");
if(data!=null)
alert("你輸入的是:"+data);
}
//-->
</script>
</head>
<body>
<form id="form1">
<input name="del" type="button" id="Button2" value="刪除記錄" onclick="delCheck()">
<input name="in" type="button" id="in" value="輸入數據" onclick="dataCheck()">
</form>
</body>
</html>
2、在ASP.NET的.aspx.cs文件中使用:
(1)Alert的使用:
代碼:
Response.Write("<script>alert('密碼不正確!')</script>");
(2)Confirm的使用:點擊Button3按鈕的是否,彈出confirm對話框,選擇"確定"的時候則開始執行相應的按鈕操作。
在page_load添加如下代碼:
代碼:
protected void Page_Load(object sender, EventArgs e)
{
Button3.Attributes.Add("onclick ", "return confirm( '確認要修改嗎?');");
}
protected void Button3_Click(object sender, EventArgs e)
{
//Button3的按鈕操作,可自行定義
Response.Write("您選擇的是確定操作!");
}
(3)Prompt的使用:
代碼:
Response.Write("<script> var result=window.prompt('請輸入新文件名:)' , 'ABC'); if(result!=null) alert('你輸入的是'+result);</script>");
這裡有兩種方法來實現。
一種是採用javascript函數來實現,代碼將應用與.aspx文件的源代碼(html語言)中,在HTML控件中調用javascript函數來實現Alert、Confirm、Prompt。
另一種則是在web窗體的.aspx.cs文件中使用。 alert和prompt可以用Response.Write()來直接使用,Confirm則需要將其加入到Web服務器控件的屬性上。 下面我們就分別針對這兩種方法來舉幾個例子。
1、我們創建兩個HTML按鈕來分別調用javascript函數,一個按鈕用來彈出confirm信息框,另一個用來彈出prompt信息框,操作結果用alert彈出。
代碼:
<html>
<head>
<title></title>
<script language="ecmascript">
<!--
function delCheck()
{
var flag=window.confirm("確實要刪除嗎?");
if(flag==true)
alert("已經刪除!");
}
function dataCheck()
{
var data=window.prompt("輸入一個1-10之間的數","7");
if(data!=null)
alert("你輸入的是:"+data);
}
//-->
</script>
</head>
<body>
<form id="form1">
<input name="del" type="button" id="Button2" value="刪除記錄" onclick="delCheck()">
<input name="in" type="button" id="in" value="輸入數據" onclick="dataCheck()">
</form>
</body>
</html>
2、在ASP.NET的.aspx.cs文件中使用:
(1)Alert的使用:
代碼:
Response.Write("<script>alert('密碼不正確!')</script>");
(2)Confirm的使用:點擊Button3按鈕的是否,彈出confirm對話框,選擇"確定"的時候則開始執行相應的按鈕操作。
在page_load添加如下代碼:
代碼:
protected void Page_Load(object sender, EventArgs e)
{
Button3.Attributes.Add("onclick ", "return confirm( '確認要修改嗎?');");
}
protected void Button3_Click(object sender, EventArgs e)
{
//Button3的按鈕操作,可自行定義
Response.Write("您選擇的是確定操作!");
}
(3)Prompt的使用:
代碼:
Response.Write("<script> var result=window.prompt('請輸入新文件名:)' , 'ABC'); if(result!=null) alert('你輸入的是'+result);</script>");
2011年7月3日 星期日
關於java script的變數生命週期
預設:全域
<script language="javascript">
v1 = 1
function f1()
{
v1 = 2
v2 = 1 + v1
document.write(v1)
}
</script>
以上執行結果是:3
若改成
<script language="javascript">
v1 = 1
function f1()
{
var v1 = 2
v2 = 1 + v1
document.write(v1)
}
</script>
以上執行結果是:3
雖然結果都是一樣,但是第二個範例的v1二個內容值是不一樣的
java script 脫逸字元
\? -> ?
\" -> "
\' -> '
\\ -> \
\a -> 響音
\b -> 退位
\f -> 換頁
\n -> 換行
\r -> home
\t -> tab
\v -> 垂直定位
\0 -> 空白
\" -> "
\' -> '
\\ -> \
\a -> 響音
\b -> 退位
\f -> 換頁
\n -> 換行
\r -> home
\t -> tab
\v -> 垂直定位
\0 -> 空白
訂閱:
文章 (Atom)