<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    BloveSaga

    在希臘帕爾納斯山南坡上,有一個(gè)馳名世界的戴爾波伊神托所,在它的入口處的巨石上赫然銹刻著這樣幾個(gè)大字: 認(rèn)識你自己!

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      34 隨筆 :: 12 文章 :: 122 評論 :: 0 Trackbacks

    2006年6月14日 #

    大家可以瀏覽我新的博客 dyin.cn

    posted @ 2007-05-11 16:57 藍(lán)色Saga 閱讀(166) | 評論 (0)編輯 收藏

    今天與大家分享的資源如下:
    ==================================================================================
    JSP動(dòng)態(tài)網(wǎng)頁制作
    PHP動(dòng)態(tài)網(wǎng)頁制作
    ASP動(dòng)態(tài)網(wǎng)頁制作
    Perl動(dòng)態(tài)網(wǎng)頁制作
    winxp優(yōu)化大全
    JSP程序設(shè)計(jì)
    以上皆是視頻教程
    如果你需要請你留下email我將會在晚上統(tǒng)一把種子發(fā)送到你的郵箱里,如果需要請抓緊,3天后將不再提供!

    ?

    posted @ 2006-06-21 12:23 藍(lán)色Saga 閱讀(334) | 評論 (5)編輯 收藏

    要考慮一個(gè)真正意義的全球資源,Web瀏覽器的內(nèi)容對每個(gè)接收到的用戶來說都是易讀的,現(xiàn)在大多數(shù)的全球資源的網(wǎng)站都是英文的.當(dāng)然,現(xiàn)在也在發(fā)生變化,有的網(wǎng)站為一些特定的國家定制一些非英文版本,比如,說英文的通過http://www.ibm.com/en/index.html來訪問,說中文的通過http://www.imb.com/cn/index.html來訪問,這些很多都是靜態(tài)的文本.怎么構(gòu)件一個(gè)動(dòng)態(tài)生成的國際化內(nèi)容的網(wǎng)站就不是一個(gè)簡單的問題了.

    國際化又稱Il8N,因?yàn)橛⑽膰业膰一荌nternationalization,它以I開始,以N結(jié)束,共18個(gè)字母.本地化又稱L18N,即是Localization.國際化的問題主要包含以下的一些內(nèi)容:
    .日期,時(shí)間
    .數(shù)字
    .貨幣
    .其它的一些特殊字符
    也就是說不同的Locale,顯示日期,時(shí)間格式是不一樣的.當(dāng)然,不同的語言有自己不同的字符集.

    HTML中的字符實(shí)體
    HTML中的字符實(shí)體和XML的語言保持一致.它定義了用特定的字符序列顯示單字符的功能,這種字符序列稱為字符實(shí)體,它以" &"開頭,以";"結(jié)束.例如: &copy; 表示字符"?";
    看一例子顯示西班牙語的" Hello World":
    <%@page contentType="text/html;charset=ISO-8859-1" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    ?? "

    <%
    ?? response.setHeader("Content-Language","es");
    ?? out.println("<html><head><title>En Espa&ntilde;ol</title></head>");
    ?? out.println("<body>");
    ?? out.println("<h3>En espa%ntilde;ol</h3>");
    ?? out.println("&iexcl;Hola Mundo!");
    ?? out.println("</body></html>");
    %>

    運(yùn)行結(jié)果:

    En espa%ntilde;ol

    ?Hola Mundo!

    在HTML字符實(shí)體表示中,&ntilde代表了" ? "字符,使用response.setHeader("Content-Language","es");來設(shè)置HTML顯示時(shí)要使用的語言.

    Unicode
    Unicode字符標(biāo)準(zhǔn)是一個(gè)字符編碼系統(tǒng),它支持互相轉(zhuǎn)換,處理和顯示現(xiàn)在世界上不同語言的文本.在Java語言中,字符,字符串和標(biāo)始符在內(nèi)部使用16位的Unicode 2.0字符集表示.Unicode使用 " \uxxxx" 來表示一個(gè)字符,前256個(gè)Unicode字符和ISO-8859-1標(biāo)準(zhǔn)(Latin-1)的前256個(gè)字符一致.在Unicode世界中, "? ?? " 用 " \u00f1 " 表示.看怎么用Unicode來編寫西班牙語的Hello World:
    <
    %@page contentType="text/html;charset=ISO-8859-1" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    ?? "

    <%
    ?? response.setHeader("Content-Language","es");
    ?? out.println("<html><head><title>En Espa\u00f1ol</title></head>");
    ?? out.println("<body>");
    ?? out.println("<h3>En espa\u00f1ol</h3>");
    ?? out.println("\u00f1Hola Mundo!");
    ?? out.println("</body></html>");
    %>

    支持多國語言的Hello World

    用語選擇語言的頁面:


    語言處理頁面代碼:
    <
    %@page contentType="text/plain;charset=UTF-8"
    import="java.io.*,java.text.*,java.util.*,javax.servlet.jsp.*" %>
    <html>
    ??? <head>
    ??????? <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    ??????? <title>JSP Page</title>
    ??? </head>
    ??? <body>
    <%!
    ?? Locale locale;
    ?? DateFormat format;
    ?? JspWriter writer;
    %>
    <%!
    ?? //英語
    void processEnglish()throws Exception
    {
    ??? locale=new Locale("en","US");
    ??? format=DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG,locale);
    ??? writer.println("in english");
    ??? writer.println("<br>");
    ??? writer.println("HelloWorld");
    ??? writer.println(format.format(new Date()));
    ??? writer.flush();
    }

    ?? //中文
    void processChinese()throws Exception
    {
    ??? locale=new Locale("zh","");
    ??? format=DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG,locale);
    ??? writer.println("in Chinese");
    ??? writer.println("<br>");
    ??? writer.println("\u4f60\u597d\u4e16\u754c");
    ??? writer.println(format.format(new Date()));
    ??? writer.flush();
    }

    ?? //韓國語
    void processKorean()throws Exception
    {
    ??? locale=new Locale("ko","");
    ??? format=DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG,locale);
    ??? writer.println("in Korean");
    ??? writer.println("<br>");
    ??? writer.println("\uc548\ud558\uc138\uacc4");
    ??? writer.println(format.format(new Date()));
    ??? writer.flush();
    }
    //.........................其他的語言省略
    %>
    <%
    ??? //獲得請求的語種
    ???? String language=(String)request.getParameter("language");
    ???? int lan=Integer.parseInt(language);??
    %>
    <%
    ?? writer=out;
    ?? switch(lan)
    ?? {
    ?????? case 1:processEnglish();break;
    ?????? case 2:processChinese();break;
    ?????? case 3:processKorean();break;
    ?????? //case 4:processRussian();break;
    ?????? //case 5:processSpanish();break;
    ????? // case 6:processJapanese();break;
    ?? }
    %>
    ??? </body>
    </html>
    處理的思路很簡單,首先獲得請求的語種,然后根據(jù)不同的語言來做不同的處理.

    posted @ 2006-06-20 14:00 藍(lán)色Saga 閱讀(229) | 評論 (0)編輯 收藏

    在JSP開發(fā)中我們常常會碰到以下的一些問題,其實(shí)都很有代表性.

    在不同的頁面或者用戶之間共享數(shù)據(jù)

    在JSP中共享數(shù)據(jù),大體上可以分為兩種情況,第一種是在同一個(gè)用戶的不同也面之間共享數(shù)據(jù),另一種是在不同用戶之間共享數(shù)據(jù).
    對于同一個(gè)用戶的會話,要想在不同的頁面之間共享數(shù)據(jù),可以有以下幾種選擇:
    .把數(shù)據(jù)保存在Session中(最常見的方法)
    .通過Cookie
    .通過隱含表單提交到下一個(gè)頁面
    .通過ServletContext對象
    .通過Application對象
    .通過文件系統(tǒng)或者數(shù)據(jù)庫
    要在不同的用戶之間共享數(shù)據(jù),通常的方法是:
    .通過ServletContext對象
    .通過Application對象
    .通過文件系統(tǒng)或者數(shù)據(jù)庫
    可見,對于不同用戶之間共享數(shù)據(jù)的實(shí)現(xiàn)方法在同一個(gè)用戶的不同也面之間也能實(shí)現(xiàn)數(shù)據(jù)共享.
    a.在同一個(gè)用戶的不同也面之間共享數(shù)據(jù)
    1.使用session共享數(shù)據(jù)
    用戶在瀏覽網(wǎng)頁時(shí),由于HTTP協(xié)議是一種無狀態(tài)協(xié)議,往往在不同的頁面之間存在數(shù)據(jù)交換的問題,這就需要在這些不同的頁面之間共享數(shù)據(jù).在編程實(shí)現(xiàn)中我們常看到的方法是把共享數(shù)據(jù)保存在session中.這些共享數(shù)據(jù)可以是字符串或者與Java的原始數(shù)據(jù)類型相關(guān)的對象,也可以是一個(gè)Java對象.
    exampl: 用戶登錄時(shí),如果驗(yàn)證成功,就把信息保存到一個(gè)userSession的類中,在其他的頁面可以讀取這個(gè)值.
    userSession.java
    package dory;
    import java.util.Date;
    /**
    ?*
    ?* @author Dory Doo
    ?*/
    public class userSession {
    ??? private boolean isLogin=false;
    ??? private String userId;
    ??? private Date lastLoginTime;
    ??? private int logCount;
    ??? /** Creates a new instance of userSession */
    ??? public userSession() {
    ??? }
    ??? public void setIsLogin(boolean l)
    ??? {
    ??????? this.isLogin=l;
    ??? }
    ??? public void setUserId(String userId)
    ??? {
    ??????? this.userId=userId;
    ??? }
    ??? public void setLastLoginTime(Date l)
    ??? {
    ??????? this.lastLoginTime=l;
    ??? }
    ??? public void setLogCount(int logCount)
    ??? {
    ??????? this.logCount=logCount;
    ??? }
    ??? public boolean isLogin()
    ??? {
    ??????? return this.isLogin;
    ??? }
    ??? public String getUserId()
    ??? {
    ??????? return this.userId;
    ??? }
    ??? public Date getLastLoginTime()
    ??? {
    ??????? return this.lastLoginTime;
    ??? }
    ??? public int getLogCount()
    ??? {
    ??????? return this.logCount;
    ??? }
    }
    當(dāng)然這個(gè)就比較簡單的了,要的是整個(gè)思路.我們怎么來使用這個(gè)類,我們需要一個(gè)驗(yàn)證登陸的頁login.jsp
    <%@page contentType="text/html;charset=gb2312" language="java"
    ?import="java.sql.*,dory.*" errorPage=""%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    ?? "

    <html>
    ??? <head>
    ??????? <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    ??????? <title>JSP Page</title>
    ??? </head>
    ??? <body>

    ??? <h1>Login Checking Page</h1>
    <%
    ?? String name=request.getParameter("name");
    ?? String password=request.getParameter("password");
    ?? //Connection the Database,loading
    ?? //int logCount=resultSet.getInt("count");
    ?? //java.util.Date lastLoginTime=resultSet.getDate("LastLoginTime");
    ?? //這里簡單設(shè)置logCount和lastLoginTime的值
    ?? UserSession user=new UserSeesion();
    ?? user.setUserId(name);
    ?? user.setIsLogin(true);
    ?? user.setLastLoginTime(new java.util.Date());
    ?? user.setLogCount(10);
    ?? session.setAttribute("userSession",user)
    ?? response.sendRedirect("welcome.jsp");
    %>
    ??? </body>
    </html>
    整個(gè)登陸頁面的過程是這樣的:
    (1)獲得用戶的登陸信息
    (2)連接數(shù)據(jù)庫進(jìn)行權(quán)限驗(yàn)證
    (3)如果通過驗(yàn)證,那么讀取用戶的注冊信息
    (4)把用戶的注冊信息保存到一個(gè)userSession對象中
    (5)把userSession對象保存到Session內(nèi)建對象中
    (6)把視圖派發(fā)到下一個(gè)顯示頁面
    注意:session.setAttribute("userSession",user)把userSession的一個(gè)對象設(shè)置到Session中,Session只能保存對象,不能保存原始的數(shù)據(jù)類型,比如:
    session.setAttribute("count",10)
    是非法的語句,如果要把值為10的整數(shù)保存到Session中,需要使用以下的方法:
    session.setAttribute("count",new Integer(10));
    然后在另一個(gè)頁面使用
    (Integer)session.getAttribute("count");
    把這個(gè)整數(shù)讀出來.
    我們用如下方法在另一個(gè)頁面中把userSesseion對象讀取出來:
    <
    %@page contentType="text/html;charset=gb2312" language="java"
    ?import="java.sql.*,dory.*" errorPage=""%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    ?? "<html>
    ??? <head>
    ??????? <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    ??????? <title>JSP Page</title>
    ??? </head>
    ??? <body>??
    <%
    ?? UserSession user=(UserSession)session.getAttribute("userSession");
    ?? try
    ?? {
    ?????? if(user.isLogin())
    ?????? {
    ?????????? out.print("welcome,your login id is:"+user.getUserId());
    ?????????? out.print("your last login time is:"+user.getLastLoginTime());
    ?????????? out.print("now you are the:"+user.getLogCount()+"times logging this website");
    ?????? }
    ?????? else
    ?????? {
    ?????????? response.sendRedirect("login.html");
    ?????? }
    ?? }
    ?? catch(Exception e)
    ?? {
    ?????? response.sendRedirect("login.html");
    ?? }
    %>
    ??? </body>
    </html>
    可以看出,通過UserSession user=(UserSession)session.getAttribute("userSession");代碼來讀取在前一個(gè)頁面中設(shè)置的對象,然后再從這個(gè)對象讀取一些相關(guān)值.當(dāng)然我們也可以用JavaBean的形式來讀取.

    2.使用隱含菜單
    這種方式通過隱含菜單的形式把數(shù)據(jù)傳遞到下一個(gè)頁面,它有兩個(gè)局限性:
    .只能在相鄰的兩個(gè)頁面之間傳遞數(shù)據(jù)
    .客戶端可以使用查看網(wǎng)頁源代碼的方式獲得表單中的數(shù)據(jù),安全性不好
    它的實(shí)現(xiàn)很簡單:
    <form action="target.jsp">
    <input type="hidden" name="test" value="abc">
    <input type="hidden" name="test2" value="def">
    </form>
    在另外一個(gè)頁面中,通過這樣來獲得數(shù)據(jù):
    String test=request.getParameter("test");
    String test2=request.getParameter("test2");

    3.使用Cookie
    和Session不同,Cookie是放在客戶端的,由于客戶考慮到安全應(yīng)素可能會禁用cookie,這樣在使用cookie就會遇到麻煩了.

    b.在不同的用戶之間共享數(shù)據(jù)
    在不同的在不同的用戶之間共享數(shù)據(jù)最常見的方法是使用ServletContext和application對象,通過在一個(gè)用戶那里設(shè)置屬性在另一個(gè)用戶那里獲得這個(gè)屬性.

    1.使用ServletContext
    在JSP頁面中可以通過getServletContext()方法獲得ServletContext對象.在這種情況下不同的用戶通過它來工享數(shù)據(jù),看下面的實(shí)現(xiàn)代碼:
    <
    %@page contentType="text/html;charset=gb2312" language="java"
    import="java.sql.*,javax.servlet.*,javax.servlet.http.*,dory.*" errorPage="" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    ?? "<%
    ?? request.setCharacterEncoding("gb2312");
    %>
    <html>
    ??? <head>
    ??????? <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    ??????? <title>JSP Page</title>
    ??? </head>
    ??? <body>
    ??? a simple chatting room
    ??? <br><hr><font color="red">
    <%
    ?? String content=(String)getServletContext().getAttribute(new String("chatTopic_1"));
    ?? out.print(content);
    ?? getServletContext().setAttribute("chatTopic_1",content+(String)request.getParameter("content")
    ?? +"<br>");
    %>
    ??? </font>
    ??? <hr>
    ??? <form accept="Servelt Context_chat.jsp">
    ??????? <input type="text" name="content">
    ??????? <input type="submit" value="speak">
    ??? </form>
    ??? </body>
    </html>

    2.application對象
    application對象對應(yīng)于每個(gè)web應(yīng)用來說只有一個(gè),它使用和ServletContext差不多.如下:
    <
    %@page contentType="text/html;charset=gb2312" language="java"
    import="java.sql.*,javax.servlet.*,javax.servlet.http.*,dory.*" errorPage="" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    ?? "<%
    ?? request.setCharacterEncoding("gb2312");
    %>
    <html>
    ??? <head>
    ??????? <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    ??????? <title>JSP Page</title>
    ??? </head>
    ??? <body>
    ??? a simple chatting room
    ??? <br><hr><font color="red">
    <%
    ?? String content=(String)application.getAttribute(new String("chatTopic_1"));
    ?? out.print(content);
    ?? application.setAttribute("chatTopic_1",content+(String)request.getParameter("content")
    ?? +"<br>");
    %>
    ??? </font>
    ??? <hr>
    ??? <form accept="Servelt Context_chat.jsp">
    ??????? <input type="text" name="content">
    ??????? <input type="submit" value="speak">
    ??? </form>
    ??? </body>
    </html>
    可以得到ServletContext和application的實(shí)現(xiàn)機(jī)制基本上一致.

    posted @ 2006-06-20 13:05 藍(lán)色Saga 閱讀(291) | 評論 (0)編輯 收藏

    多學(xué)習(xí)別人才能進(jìn)步,多交流才能收獲,這里分享給大家一些網(wǎng)絡(luò)資源.

    =====================================================================================
    國內(nèi)外JSP/Java/Servlet技術(shù)著名網(wǎng)站

    http://www-900.ibm.com/developerWorks/cn
    http://java.sun.com
    http://www.jchq.net
    http://jquest.webjump.com/
    http://www.chinaasp.com/ (國內(nèi))
    http://www.cnjsp.com/? (國內(nèi))
    http://www.javaunion.org/ (國內(nèi))
    http://www.jspchina.com/ (國內(nèi))


    國內(nèi)外介紹JSP/Servlet應(yīng)用程序服務(wù)器的網(wǎng)站

    ?http://www.allaire.com/
    ?http://jakarta.apache.org/
    ?http://java.apache.org/
    ?http://www.atg.com/
    ?http://www.bea.com/
    ?http://www.beasys.com/
    ?
    http://www.bluestone.com/
    ?http://caucho.com/
    ?http://easythings.iwarp.com/
    ?http://www.fefionsoftware.com
    ?
    http://www.gemstone.com/
    ?http://www.software.ibm.com/
    ?
    http://www.inprise.com/
    ?http://sun.com/software/
    ?http://www.tagtraum.com/
    ?http://www.enhydra.com/
    ?http://www.mortbay.com/
    ?http://www.novocode.com/
    ?http://www.oracle.com/
    ?http://www.orionserver.com/
    ?http://www.paralogic.com/
    ?http://www.pramati.com/
    ?http://www.secant.com/
    ?http://www.servertec.com/
    ?http://www.silverstream.com/
    ?http://www.siteforum.com/
    ?http://www.unify.com/
    ?http://www.vqsoft.com/
    ?http://www.w3.org/

    國內(nèi)外介紹 JSP/Java/Servlet開發(fā)工具的網(wǎng)站

    ?http://www.adobe.com/
    ?http://www.bea.com/
    ?http://www.software.ibm.com/
    ?http://www.inprise.com/
    ?http://www.macromedia.com/
    ?http://www.netbeans.org/
    ?http://www.netobjects.com/
    ?http://www.oracle.com/
    ?http://www.sun.com/
    ?
    http://www.eclipse.com/

    FAQ網(wǎng)站

    ?http://www.jguru.com/
    ?http://java.sun.com/products/jsp/faq.html
    ?http://www.esperanto.org.nz/
    ?
    http://www.jchq.net/

    繁體資源

    http://www.javaworld.com.tw/jute或http://www.jsptw.com/jute
    http://www.jsp.mlc.edu.tw
    posted @ 2006-06-19 14:49 藍(lán)色Saga 閱讀(299) | 評論 (0)編輯 收藏

    ?? 正則表達(dá)式

    ?.正則表達(dá)式及其作用
    ?.RegExp對象
    ?.String對象中與正則表達(dá)式有關(guān)的方法
    ?.正則表達(dá)式的語法參考
    ?.實(shí)用程序舉例

    ?什么是正則表達(dá)式?
    ?.文件路徑通配符
    ?"?"通配符匹配文件名中的單個(gè)字符,而"'"通配符匹配零個(gè)或多個(gè)字符。data?.dat就是一中文
    ?本模式,它能匹配data1.dat,data2.dat,datax.dat,dataN.dat等文件名。data*.dat是另一種文
    ?本模式,它匹配data.dat,data1.dat,data2.dat,data12.dat,datax.dat等文件名。

    ?

    ?.正則表達(dá)式
    ?是由英文詞語regular expression翻譯過來的,英文比中文更能實(shí)現(xiàn)其含義,就是符合某種規(guī)則
    ?的表達(dá)式。可以將正則表達(dá)式理解為一種對文件進(jìn)行模糊匹配的語言,它用一些特殊的符號(稱
    ?為元字符)來代表某種特征(例如,全都是數(shù)字)的一組字符以及指定匹配的次數(shù),含有元字符
    ?的文本不再表示某一具體的文本內(nèi)容,而是形成了一種文本模式,它可以匹配符合這種模式的所
    ?有文本串。
    ?
    ?元字符與子匹配
    ?.元字符
    ?如果一個(gè)圖書的編號格式是:要么是5個(gè)數(shù)字字符,例如,10101;要么是5個(gè)數(shù)字后加上一個(gè)連字號
    ?(-),再加上4個(gè)數(shù)字組成的10個(gè)字符,例如,11111-1234。那么,要在一個(gè)大的文本串中查找這
    ?兩種格式的圖書編號時(shí),就可以用\d{5}(-\d{4})?做為匹配模式。
    ?如果要讓abc?中的bc同時(shí)受到?的作用,必須使用圓括號將他們括起來,使它們成為一個(gè)緊密結(jié)合
    ?的組合項(xiàng),這樣后面的?就表示圓括號中的內(nèi)容可有可無,例如,a(bc)?能匹配a和abc。

    ?.字匹配
    ?圓口號所括起來的部分為一個(gè)子匹配(也叫子表達(dá)式),除了可以得到整個(gè)正則表達(dá)式的匹配
    ?結(jié)果外,還可以單獨(dú)得到每個(gè)子表達(dá)式部分所匹配的結(jié)果。
    ?多個(gè)子表達(dá)式所匹配的原始內(nèi)容按照它們正則表達(dá)式模式中從左到右出現(xiàn)的順序存儲在緩沖區(qū)中
    ?,這種過程稱為捕獲。圓括號中的子匹配所捕獲的內(nèi)容可在整個(gè)表達(dá)式中位于這個(gè)括號之后的
    ?地方被反引用,第一括號(即第一個(gè)子匹配)捕獲的內(nèi)容用\1表示,第二個(gè)圓括號(即第二個(gè)子
    ?匹配)捕獲的內(nèi)容\2表示,依次類推。例如,要匹配2個(gè)相同的連續(xù)字符的正則表達(dá)式為(\d)\1.
    ?要匹配連續(xù)5個(gè)相同的數(shù)字字符的正則表達(dá)式為(\d)\1{4}.要匹配1221.3553.6776等數(shù)字。可以
    ?使用正則表達(dá)式為(\d)(\d)\2\1。

    ? 正則表達(dá)式的作用
    ?.測試字符串是否匹配某個(gè)模式,從而實(shí)現(xiàn)數(shù)據(jù)格式的有效性驗(yàn)證。
    ?.將一段文本中滿足某一正則表達(dá)式模式的文本內(nèi)容替換為別的內(nèi)容或刪除(即替換為空字符串)
    ? 例如,將一大段文本中的所有的19xx年的內(nèi)容替換為20xx年,其中xx部分是兩個(gè)任意的數(shù)字,
    ? 不會被替換,但不能簡單地用20替換19,否則1919就被替換為2020。
    ?.在一段文本中搜索具有某一類型特征的文本內(nèi)容。精確搜索和正則表達(dá)式的模式搜索最大的區(qū)
    ? 別就是:精確搜索是搜索一個(gè)具體的文本,而模式搜索是模式搜索具有某一類型特征的文本。

    ?
    ? RegExp對象
    ?JavaScript中提供了一個(gè)名為RegExp的對象來完成有關(guān)正則表達(dá)式的操作和功能,每一條正則
    ?表達(dá)式模式對應(yīng)一個(gè)RegExp對象實(shí)例。

    ?創(chuàng)建RegExp對象實(shí)例
    ?(1)使用RegExp對象的顯示構(gòu)造函數(shù),語法為:new RegExp("pattern"[,"flags"]);
    ?(2)使用RegExp對象的隱式構(gòu)造函數(shù),采用純粹的文本格式:/pattern/[flags]
    ?
    ?flags標(biāo)志字符:
    ???? -g 用做全局標(biāo)志
    ???? -i 用做忽略大小寫標(biāo)志
    ???? -m 用做多行標(biāo)志
    ???? 如果沒有設(shè)置這個(gè)標(biāo)志,那么元字符"^"只與整個(gè)被搜索字符串的開始位置相匹配,而元字符
    ???? "$"只與整個(gè)被搜索字符串的結(jié)束位置相匹配。如果設(shè)置了這個(gè)標(biāo)志,那么"^"還可以與被
    ???? 搜索字符串中的"\n"或"\r"之后的位置相匹配。
    ? 注意:
    ? 當(dāng)使用構(gòu)造函數(shù)的方式創(chuàng)建RegExp實(shí)例對象的時(shí)候,應(yīng)將原始的正則表達(dá)式模式文本中的每個(gè)
    ? "\"都使用"\\"來替換,例如,下面的語句等價(jià):
    ?? var re=new RegExp("\\d{5}");
    ?? var re=^d{5}/

    ?RegExp對象-屬性
    ?.所有RegExp對象實(shí)例共享靜態(tài)屬性
    ?.單個(gè)對象實(shí)例的屬性
    ?靜態(tài)屬性:
    ?.index
    ?.input
    ?.lastIndex
    ?.lastMatch
    ?.lastParen
    ?.lastContext
    ?.leftContext
    ?.rightContext
    ?.$1...$9

    ?對象實(shí)例屬性:
    ?.global
    ?.ignoreCase
    ?.multiline
    ?.source

    ?RegExp對象-方法
    ?.test方法
    ?語法格式為:test(str)。檢查一個(gè)字符串中是否存在創(chuàng)建RegExp對象實(shí)例所指定的正則表達(dá)式模式
    ?.exec方法
    ?語法格式為:exec(str)。使用創(chuàng)建RegExp對象實(shí)例時(shí)所指定的正則表達(dá)式模式對一個(gè)字符串執(zhí)行
    ?搜索,并返回一個(gè)包含搜索結(jié)果的數(shù)組。
    ?.compile方法
    ?語法格式為:compile("pattern"[,"flags"])。更換RegExp對象實(shí)例所使用的正則表達(dá)式模式,并
    ?將新的正則表達(dá)式模式編譯為內(nèi)部格式,從而使以后的匹配過程執(zhí)行更快。

    ?RegExp對象-綜合舉例
    ?code:
    <script language="javascript">
    ??? var strSrc="xxa1b01c001yya2b02c002zz";
    ??? var re="/a(\d)b(\d{2})c(\d{3})/gi";
    ??? var arr,count=0;
    ??? while((arr = re.exec(strSrc))!=null)
    ??? {
    ?????? displayResult();
    ??? }
    ??? function displayResult()
    ??? {
    ????? document.write(<p>這是用正則表達(dá)式/"+re.source+"/gi對字符串<br>\""
    ???????????????? +RegExp.input+ "\"進(jìn)行第" +(++count)+ "次搜索的結(jié)果:<br>");
    ????? document.write("RegExp.index為"+RegExp.index+"<br>");
    ????? document.write("RegExp.lastindex為"+RegExp.lastindex+"<br>");
    ????? document.write("RegExp.lastMatch為"+RegExp.lastMatch+"<br>");
    ????? document.write("RegExp.lastParen為"+RegExp.lastParen+"<br>");
    ????? document.write("RegExp.lastContext為"+RegExp.lastContext+"<br>");
    ????? document.write("RegExp.$1為"+RegExp.$1+"<br>");
    ????? document.write("RegExp.$1為"+RegExp.$2+"<br>");
    ????? document.write("RegExp.$1為"+RegExp.$3+"<br>");
    ????? document.write("RegExp.$1為"+RegExp.$4+"<br>");
    ????? document.write("arr.index為"+arr.index+"<br>");
    ????? document.write("arr.input為"+arr.input+"<br>");
    ????? document.write("arr.lastindex為"+arr.lastindex+"<br>");
    ????? document.write("返回的元素個(gè)數(shù)為"+arr.length+"<br>");
    ????? document.write("返回?cái)?shù)組的類容為[");
    ????? for(var i=0;i<arr.length;i++)
    ????? {
    ???????? if(arr.length-1)
    ??????????? document.write("\""+arr[i]+"\",");
    ???????? else
    ??????????? document.write("\""+arr[i]+"\"]</p>");
    ????? }
    ?????
    ??? }
    ?</script>
    ?


    ?String對象中與正則表達(dá)式有關(guān)的方法
    ?.match方法
    ?語法格式為:match(Exp)。與RegExp對象的exec方法類似,它使用正則表達(dá)式模式對字符串執(zhí)行
    ?搜索,并返回一個(gè)包含搜索結(jié)果的數(shù)組。
    ?<script language="javascript">
    ?? var strSrc="xxa1b01c001yya2b02c002zz";
    ?? var re=/a(\d)b(\d(2))c(\d{3})/gi;
    ?? var arr;
    ?? arr=strSrc.match(re);
    ?? for(var i=0;i<arr.length;i++)
    ?? {
    ????? if(i<arr.length-1)
    ???????? document.write("[\""+arr[i]+"\",");
    ????? else
    ???????? document.write("\""+arr[i]+"\"]");
    ?? }
    ?</script>
    ?
    ?.search方法
    ?語法格式為:serach(rgExp)。返回使用正則表達(dá)式搜索時(shí),第一個(gè)匹配的字符串在整個(gè)被搜索
    ?的字符串中的位置。
    ?.replace方法
    ?語法格式為: replace(rgExp,replaceText)。使用正則表達(dá)式模式對字符串執(zhí)行搜索,并對搜索
    ?到的內(nèi)容用指定的字符串替換,返回值包含替換后的內(nèi)容的字符串對象。

    posted @ 2006-06-15 18:06 藍(lán)色Saga 閱讀(215) | 評論 (0)編輯 收藏

    給大家分享一個(gè)視頻教程-軟件工程,CSF格式的,或許大家有和我一樣用得著的,如果你需要就抓緊時(shí)間下載吧,白天相對來說速度快點(diǎn),晚上就比較慢了,也不一定.希望可以給你提供點(diǎn)幫助.現(xiàn)把目錄列舉如下:
    = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
    課程名稱:軟件工程
    總學(xué)時(shí):32講
    主講老師:劉亞軍
    要下載抓緊時(shí)間,下載地址經(jīng)常變動(dòng)
    授課目錄:
    第1講 軟件過程背景、目的
    第2講 軟件質(zhì)量評價(jià)、軟件開發(fā)方法和開發(fā)工具 可行性研究與計(jì)劃
    第3講 成本效益分析
    第4講 需求分析基本理論、結(jié)構(gòu)化分析概述、數(shù)據(jù)流圖
    第5講 數(shù)據(jù)流圖基本充分、由外向里畫數(shù)據(jù)流圖
    第6講 分層數(shù)據(jù)流圖、由頂向下畫數(shù)據(jù)流圖、實(shí)例
    第7講 數(shù)據(jù)流圖的改進(jìn)、數(shù)據(jù)詞典
    第8講 小說明、分析的步驟,SA方法小結(jié)、快速原型法
    第9講 基本概念、概要設(shè)計(jì)

    第10講 塊間聯(lián)系、塊內(nèi)聯(lián)系
    第11講 影響范圍、控制范圍、變換分析
    第12講 變換分析、事務(wù)分析
    第13講 詳細(xì)設(shè)計(jì)、JACSON方法
    第14講 編程方法、軟件測試基本概念
    第15講 白盒測試法
    第16講 白盒測試法舉例
    第17講? 黑盒測試法
    第18講? 黑盒測試法舉例
    第19講 維護(hù)方法
    第20講? 面向?qū)ο箝_發(fā)方法(1)
    第21講? 面向?qū)ο箝_發(fā)方法(2)
    第22講? 面向?qū)ο箝_發(fā)方法(3)
    第23講? 面向?qū)ο箝_發(fā)方法(4)
    第24講? 軟件工具和環(huán)境,案例分析(1)
    第25講? 案例分析(2)
    第26講? 案例分析(3)
    第27講? 案例分析(4)
    第28講? 課堂練習(xí) 模擬試卷一美
    第29講? 模擬試卷一
    第30講? 模擬試卷二
    第31講? 模擬試卷二
    第32講? 模擬試卷二 開發(fā)方法比較

    下載地址:
    http://202.119.2.197/netcourses/評比課件/軟件工程/軟件工程01.csf
    ???????? ....................
    http://202.119.2.197/netcourses/評比課件/軟件工程/軟件工程32.csf

    If you need them! Be quick!

    posted @ 2006-06-14 16:46 藍(lán)色Saga 閱讀(1218) | 評論 (3)編輯 收藏

    主站蜘蛛池模板: 久久国产乱子伦精品免费看| 亚洲成AV人片在| 国产一卡二卡四卡免费| 国产福利免费视频| 国产亚洲视频在线播放大全| 亚洲综合校园春色| 亚洲国产成人久久综合碰碰动漫3d| 亚洲黄片手机免费观看| 全免费一级午夜毛片| 国产成人yy免费视频| 最近中文字幕mv免费高清在线| 黄页免费在线观看| 韩国免费A级毛片久久| 成人免费网站视频www| 希望影院高清免费观看视频| 免费在线黄色电影| 国产免费人成视频在线播放播| 黄色免费网站在线看| 最新亚洲人成无码网www电影| 国产午夜亚洲精品| 亚洲三级高清免费| 一本色道久久88—综合亚洲精品 | 鲁死你资源站亚洲av| 狠狠色香婷婷久久亚洲精品| 亚洲欧洲日本国产| 亚洲特级aaaaaa毛片| 亚洲国产美女精品久久久久| 亚洲欧洲精品久久| 亚洲国产亚洲片在线观看播放| 亚洲中文字幕在线无码一区二区| 亚洲美女人黄网成人女| 亚洲一区中文字幕在线电影网 | 免费国产成人高清在线观看网站| 美丽的姑娘免费观看在线播放 | 亚洲欧洲久久精品| 亚洲国产一区在线观看| 精品国产日韩久久亚洲| 亚洲大尺度无码无码专线一区| 在线亚洲v日韩v| www在线观看播放免费视频日本| 美女网站在线观看视频免费的|