2009年5月27日 星期三
計算符合正規表達式的字串有多少,是哪些?
var txt = 'asd asd
txt += '
var matches = txt.match(/<[^<]+>/g);
for (i in matches) {
alert(i + ' : ' + matches[i]);
}
[jquery] div元素置頂語法
<div id="myElement" style="position: absolute">
This stays at the top
</div>
$(window).scroll(function() {
$('#myElement').css('top', $(this).scrollTop() + "px");
});
2009年5月25日 星期一
[VB]字串處理函數
LEN字串長度函數:計算字串的長度。
函數運算式 | 結果 |
len("abcd") | 4 |
len("中文字") | 3 |
len(abc中文) | 5 |
執行範例: |
MID取部份字串函數:依開始位置擷取固定長度字串。
函數運算式 | 結果 |
mid("vbscript",3,3) | scr |
mid("vbscript",3) | script |
mid("vbscript",1,2) | vb |
執行範例: |
LEFT字串開頭取部份字串函數:將某一字串由開頭擷取固定長度。
函數運算式 | 結果 |
left("vbscript",2) | vb |
left("vbscript",5) | vbscr |
執行範例: |
RIGHT字串結尾取部份字串函數:將某一字串由結尾擷取固定長度。
函數運算式 | 結果 |
right("vbscript",2) | pt |
right("vbscript",6) | script |
執行範例: |
LCASE轉大寫函數:將字串中的大寫字母變成小寫。
函數運算式 | 結果 |
lcase("VBScript") | vbscript |
lcase("VBScript程式") | vbscript程式 |
執行範例: |
UCASE轉小寫函數:將字串中的小寫字母變成大寫。
函數運算式 | 結果 |
ucase("VBScript") | VBSCRIPT |
ucase("VBScript程式") | VBSCRIPT程式 |
執行範例: |
TRIM刪除頭及尾空白字元函數:將字串開頭及結尾的空白字元刪除。
LTRIM刪除開頭空白函數:將字串開頭的空白字元刪除。
RTRIM刪除結尾空白函數:將字串結尾的空白字元刪除。
函數運算式 | 結果 |
trim(" VBScript ") | VBScript |
ltrim(" VBScript ") | VBScript |
rtrim(" VBScript ") | VBScript |
執行範例: |
REPLACE替代字串函數:將字串中的某字串用另一字串代替。
函數運算式 | 結果 |
replace("VBScript","VB","JAVA") | JAVAScript |
執行範例: |
INSTR是否包含另一字串函數:傳回子字串在字串中的第一次出現位置。
函數運算式 | 結果 |
instr("ABCabc","a") | 4 |
instr("ABCabc","BC") | 2 |
執行範例: |
SPACE空白字元函數:產生N個空白字元。
函數運算式 | 結果 |
space(10) |
|
執行範例: |
STRING產生字串函數:產生N個字元。
函數運算式 | 結果 |
string(5,"*") | ***** |
string(3,65) | AAA |
執行範例: |
STRREVERSE反轉字串函數:將字串內容前後反轉。
函數運算式 | 結果 |
strreverse("VBScript") | tpircSBV |
strreverse("中文字") | 字文中 |
執行範例: |
SPLIT分割字串函數:將長字串依某字元分割並放於陣列中。
函數運算式 | 結果 |
arr=split("張三&李四&王五","&") | |
LEN字串長度函數:計算字串的長度。 函數運算式 結果 len("abcd") 4 len("中文字") 3 len(abc中文) 5 執行範例: 函數運算式 結果 mid("vbscript",3,3) scr mid("vbscript",3) script mid("vbscript",1,2) vb 執行範例: LEFT字串開頭取部份字串函數:將某一字串由開頭擷取固定長度。 函數運算式 結果 left("vbscript",2) vb left("vbscript",5) vbscr 執行範例: RIGHT字串結尾取部份字串函數:將某一字串由結尾擷取固定長度。 函數運算式 結果 right("vbscript",2) pt right("vbscript",6) script 執行範例: LCASE轉大寫函數:將字串中的大寫字母變成小寫。 函數運算式 結果 lcase("VBScript") vbscript lcase("VBScript程式") vbscript程式 執行範例: UCASE轉小寫函數:將字串中的小寫字母變成大寫。 函數運算式 結果 ucase("VBScript") VBSCRIPT ucase("VBScript程式") VBSCRIPT程式 執行範例: TRIM刪除頭及尾空白字元函數:將字串開頭及結尾的空白字元刪除。 函數運算式 結果 trim(" VBScript ") VBScript ltrim(" VBScript ") VBScript rtrim(" VBScript ") VBScript 執行範例: REPLACE替代字串函數:將字串中的某字串用另一字串代替。 函數運算式 結果 replace("VBScript","VB","JAVA") JAVAScript 執行範例: INSTR是否包含另一字串函數:傳回子字串在字串中的第一次出現位置。 函數運算式 結果 instr("ABCabc","a") 4 instr("ABCabc","BC") 2 執行範例: SPACE空白字元函數:產生N個空白字元。 函數運算式 結果 space(10) 執行範例: STRING產生字串函數:產生N個字元。 函數運算式 結果 string(5,"*") ***** string(3,65) AAA 執行範例: STRREVERSE反轉字串函數:將字串內容前後反轉。 函數運算式 結果 strreverse("VBScript") tpircSBV strreverse("中文字") 字文中 執行範例: SPLIT分割字串函數:將長字串依某字元分割並放於陣列中。 函數運算式 結果 arr=split("張三&李四&王五","&")
MID取部份字串函數:依開始位置擷取固定長度字串。
LTRIM刪除開頭空白函數:將字串開頭的空白字元刪除。
RTRIM刪除結尾空白函數:將字串結尾的空白字元刪除。
How To:對 Active Directory 使用表單驗證
想利用 Active Directory 來驗證帳號是否正確? 於是上網找相關資料,資料很多,但對於『如何設定路徑來連接到 AD'部份沒有說清楚,讓我花費很多時間,程式完成後,你會發現真簡單。
準備工作:
1. 本段摘錄至〔使用 System.DirectoryServices 搜尋 Active Directory〕一文,若要連接 Active Directory,您可以使用 Global Catalog (GC://) 語法指定路徑,或使用標準 LDAP 路徑 (LDAP://)。使用的語法和路徑視網路環境而定。例如,在使用內部網路時,我決定使用 Global Catalog 語法,因為它可讓我搜尋整個企業網路 (整個 Active Directory 樹系)。我不包括伺服器名稱的路徑,而只指定 "GC://dc=home, dc=duncanmackenzie,dc=net" (假設我的網域叫作 home.duncanmackenzie.net),它讓 ADSI 連接到指定網域的通用類別伺服器。
2. 利用連到 AD的路徑、使用者名稱(或「網域\使用者名稱」的格式)與密碼來建立 DirectoryEntry物件,其中 連到 AD路徑的語法為: LDAP://你的網域名稱 或 LDAP://AD的SERVER名稱,及其他格式。
使用『WinNT://』執行 DirectorySearcher中 FindOne指令會出現「提供者不支援搜尋,並且無法搜尋 WinNT://xxx.xxx.xxx」訊息,網路上有人說『只有〔LDAP://〕支援搜尋功能,而〔WinNT://〕不支援搜尋功能』。
3. 透過 DirectoryEntry物件連接到 Active Directory,再透過 DirectorySearcher物件找到指定的帳號。
Active Directory 的 SERVER名稱或電腦名稱為 A1.B2.C3.D4.E5
範例程式:
<%@ Page Language="VB" %>
<%@ Import Namespace="System.DirectoryServices" %>
<script runat="server">
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim user_name As String
Dim ent As DirectoryEntry
ent = New DirectoryEntry("LDAP://A1.B2.C3.D4.E5", TX_User.Text, TX_Passwd.Text)
Dim dirsearcher As DirectorySearcher
dirsearcher = New DirectorySearcher(ent)
dirsearcher.Filter = "(sAMAccountName=" + TX_User.Text + ")"
dirsearcher.PropertiesToLoad.Add("displayName")
dirsearcher.SearchScope = SearchScope.Subtree
Try
Dim results As SearchResult = dirsearcher.FindOne
'傳回值之中 Path = "LDAP://A1.B2.C3.D4.E5/CN=王小明,CN=Users,DC=B2,DC=C3,DC=D4,DC=E5"
'其中第一個CN為 AD上看到的名稱,不是〔顯示名稱〕這欄位值
If IsNothing(results) Then
Message_label.Text = "找不到 " + TX_User.Text + " 帳號 或 密碼錯誤。"
Return
Else
'通過 AD驗證,將 AD中〔顯示名稱〕這欄設定給 user_name
user_name = results.GetDirectoryEntry().Properties("displayName").Value
End If
Catch ex As Exception
Message_label.Text = "錯誤訊息:" + ex.Message
Return
End Try
Message_label.Text = user_name + ",登入成功"
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>AD 帳號驗證</title>
</head>
<body>
<form id="form1" runat="server">
<div>
使用者名稱:<asp:TextBox ID="TX_User" runat="server"></asp:TextBox><br /><br />
密碼:<asp:TextBox ID="TX_Passwd" runat="server" Style="position: static" TextMode="Password"></asp:TextBox><br /><br />
<asp:Button ID="Button1" runat="server" Style="position: static" Text="登入" OnClick="Button1_Click" /><br /><br />
<asp:Label ID="Message_label" runat="server" Style="position: static" Text=""></asp:Label>
</div>
</form>
</body>
</html>
參考資料:
01. DirectoryEntry.Path 屬性:依提供者有所不同,列出一些常見的案例。
02. 使用 System.DirectoryServices 搜尋 Active Directory
03. Active Directory:簡介 AD。
04. Windows Server Protocols (WSPP):可找到 AD所有欄位說明文件。
05. 在Win 2000 AD環境中,以批次的方式進行使用者帳號的建立與管理:利用「LDP tool」程式可以知道 AD中每一個屬性的欄位名稱。
06. Ldp Overview:這一個工具的功能就是利用LDAP的協定去查詢LDAP Server。
07. 如何使用 ADO 至 Access 透過 ADSI LDAP 提供者物件:透過 ADO 來存取 LDAP 相容目錄中的物件
08. 目錄服務範例:.NET存取及管理 Active Directory 的範例。
09. AD上帳號的讀取、建立及權限設定
10. 利用DirectoryEntry組件來查看網路 (大陸網站)
11. Querying Microsoft Active Directory Using Microsoft .NET Framework Library
12. Howto: (Almost) Everything In Active Directory via C#
13. Active Directory and LDAP - ASP.NET Forums
14. The LDAP Application Program Interface:RFC 1823。
15. How Do LDAP Attributes Map to Address Book Fields:LDAP attribute mappings to Outlook Address Book
16. The Mozilla LDAP C SDK:包含一組 LDAP 應用程式介面 (API),可建立啟用 LDAP 的用戶端。 下載位址
17. 常見的 LDAP RFC
網誌存檔
-
▼
2009
(113)
-
▼
5月
(14)
- 不設暫存就交換兩個變數的方法
- 計算符合正規表達式的字串有多少,是哪些?
- [jquery] div元素置頂語法
- [VB]字串處理函數
- How To:對 Active Directory 使用表單驗證
- 如何讓Visual Studio .Net 原始碼視窗顯示行號
- JavaScript Array內建函數
- javascript 數字相加 變成 文字相加?
- PHP 分割字串 Function 的速度比較(substr/sscanf/preg_match)
- width and height
- str_replace, ereg_replace,preg_replace 的異同
- 解決網址傳遞中文參數時所發生的亂碼問題
- php iconv Big5 to UTF-8
- Php Xml處理之simplexml使用方法淺談
-
▼
5月
(14)