??xml version="1.0" encoding="utf-8" standalone="yes"?>国产精品免费久久久久影院,午夜视频在线观看一区,中文av在线播放http://www.aygfsteel.com/keweibo/category/25492.html一? Java 多能 C#,Delphi,Powerbuilder ... <br> <script type="text/javascript"><!-- google_ad_client = "ca-pub-1944176156128447"; /* 468x15, 创徏?09-2-25 */ google_ad_slot = "5582725142"; google_ad_width = 468; google_ad_height = 15; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>zh-cnThu, 24 Jul 2014 21:58:19 GMTThu, 24 Jul 2014 21:58:19 GMT60JavaScript中实现函数重载和参数默认??http://www.aygfsteel.com/keweibo/articles/416152.htmlKeKeThu, 24 Jul 2014 01:22:00 GMThttp://www.aygfsteel.com/keweibo/articles/416152.htmlhttp://www.aygfsteel.com/keweibo/comments/416152.htmlhttp://www.aygfsteel.com/keweibo/articles/416152.html#Feedback0http://www.aygfsteel.com/keweibo/comments/commentRss/416152.htmlhttp://www.aygfsteel.com/keweibo/services/trackbacks/416152.html转自Q?a >http://www.2cto.com/kf/201208/149413.html

参数默认值是指在调用函数Ӟ若省略了(jin)某个实参Q函C(x)自动参数分配一个默认|使得函数调用的方便性和灉|性大大提高?/p>

举个例子Q比?a style="color: rgb(51,51,51); font-size: 14px; text-decoration: none" class="keylink" target="_blank">PHP中的字符串截取函数substr(string,start,length)Q当不指定lengthӞ函数默认截取字W串中start位置到字W串l束Q而如果指定了(jin)lengthQ则截取从start位置开始的以length为长度的字符Ԍ所以如果调用的是substr('http://www.hualai.net.cn',11,6)Q则q回的是hualaiQ如果省略掉最后一个参敎ͼsubstr('http://www.hualai.net.cn',11)Q则q回hualai.net.cn?/p>

再比如jQuery框架中,$(selector).html()Ҏ(gu)是获取该元素内的HTML代码Q?(selector).html(content)则是讄该元素内的HTML。我们知道,在C语言中,我们可以通过如下形式来ؓ(f)函数参数讄默认|(x)

[cpp] 
void foo(int a, int b = 1, bool c = false);   
?a style="color: rgb(51,51,51); font-size: 14px; text-decoration: none" class="keylink" target="_blank">Java中,则可以通过函数重蝲来设|函数参数默认|(x)

[java]
public void foo(int a){   
    foo(a, 1);   
}   
public void foo(int a, int b){   
    foo(a, b, false);   
}   
public void foo(int a, int b, bool c){   
    //函数内容   
}   
而在JavaScript中,如何像jQuery那样讄函数参数默认值呢QJavaScript中ƈ没有像C语言中定义函数时直接在参数后面赋值的Ҏ(gu)Q也没有像Java里那L(fng)函数重蝲Q但我们可以通过JavaScriptҎ(gu)中的一个arguments只读变量数组来实玎ͼ具体如下Q?/p>

[js] 
function foo(){   
    var a = arguments[0] ? arguments[0] : 1;   
    var b = arguments[1] ? arguments[1] : false;   
    //函数内容   
}   
以上是通过判断参数是否存在Q若不存在则默认值附l变量,而我们可以通过判断参数的类型来实现重蝲Q?/p>

[js] 
function foo(){   
    if(typeof arguments[0] == 'string')    
        alert('参数cd为字W串');    
    else if(typeof arguments[0] == 'number')    
        alert('参数cd为数?);    
}   
或者:(x)

[js] 
function foo(){   
    if(arguments[0].constructor == String)    
        alert('参数cd为字W串');    
    else if(arguments[0].constructor == Number)    
        alert('参数cd为数?);    
}   



Ke 2014-07-24 09:22 发表评论
]]>
javascript 计算日期相差的天?/title><link>http://www.aygfsteel.com/keweibo/articles/395722.html</link><dc:creator>Ke</dc:creator><author>Ke</author><pubDate>Tue, 26 Feb 2013 02:00:00 GMT</pubDate><guid>http://www.aygfsteel.com/keweibo/articles/395722.html</guid><wfw:comment>http://www.aygfsteel.com/keweibo/comments/395722.html</wfw:comment><comments>http://www.aygfsteel.com/keweibo/articles/395722.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/keweibo/comments/commentRss/395722.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/keweibo/services/trackbacks/395722.html</trackback:ping><description><![CDATA[<font face="Verdana"><html><br /> <head><br />  <script type="text/javascript"><br />   function moreThanOneMonth(dt)<br />   {<br />    var s1=new Date(dt.replace(/-/g, "/")); //日期格式为yyyy-mm-dd转换成yyyy/mm/dd<br />    var s2=new Date();<br />    var time= s2.getTime() - s1.getTime(); <br />    var days = parseInt(time / (1000 * 60 * 60 * 24));<br />    if(days > 30)<br />     return true;<br />    else<br />     return false;<br />   }<br />   function load(dt)<br />   {<br />    if( checkDate(dt) )<br />    {<br />     alert("days > 30");<br />    }<br />    else<br />    {<br />     alert("days < 30");<br />    }<br />   }<br />  </script><br /> </head><br /> <body onLoad="load('2013-01-01')"><br /> </body><br /></html></font><img src ="http://www.aygfsteel.com/keweibo/aggbug/395722.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/keweibo/" target="_blank">Ke</a> 2013-02-26 10:00 <a href="http://www.aygfsteel.com/keweibo/articles/395722.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JavaScript倒计时自动蟩转功?/title><link>http://www.aygfsteel.com/keweibo/articles/362008.html</link><dc:creator>Ke</dc:creator><author>Ke</author><pubDate>Tue, 25 Oct 2011 07:03:00 GMT</pubDate><guid>http://www.aygfsteel.com/keweibo/articles/362008.html</guid><wfw:comment>http://www.aygfsteel.com/keweibo/comments/362008.html</wfw:comment><comments>http://www.aygfsteel.com/keweibo/articles/362008.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/keweibo/comments/commentRss/362008.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/keweibo/services/trackbacks/362008.html</trackback:ping><description><![CDATA[<div><center><br /><font size=5 color="Fuchsia"> 修改成功</font><br /><br><br /><font size=3 color="red"><span id="jump">3</span> U后自动跌{到购物R面?lt;/font><br /></center><br /><script language="JavaScript"><br /> function countDown(secs){<br />       jump.innerText=secs;//用于改变id=jump中的U数的显C?br />       if(--secs>=0){<br />       setTimeout( "countDown(" +secs+ ")" ,1000);//每隔1000毫秒执行一个countDown<br /><br />QsecsQ方?br />       }else{<br />        location.href = 'cart.jsp';//重定向的面<br />    }<br />  }<br />    countDown(3);<br /></script></div><img src ="http://www.aygfsteel.com/keweibo/aggbug/362008.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/keweibo/" target="_blank">Ke</a> 2011-10-25 15:03 <a href="http://www.aygfsteel.com/keweibo/articles/362008.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用JavaScript判断两个日期相差天数http://www.aygfsteel.com/keweibo/articles/353274.htmlKeKeTue, 28 Jun 2011 08:29:00 GMThttp://www.aygfsteel.com/keweibo/articles/353274.htmlhttp://www.aygfsteel.com/keweibo/comments/353274.htmlhttp://www.aygfsteel.com/keweibo/articles/353274.html#Feedback0http://www.aygfsteel.com/keweibo/comments/commentRss/353274.htmlhttp://www.aygfsteel.com/keweibo/services/trackbacks/353274.html<script type="text/javascript">
    var st = new Date(‘2011/01/28 16:22:00’);
    var et = new Date(‘2011/03/28 16:22:00’);
    if( (et.getTime()-st.getTime())/1000/60/60/24 > 31 ) {
        alert("時間間隔不能出31?);
    }
</script>


Ke 2011-06-28 16:29 发表评论
]]>
jQuery+DWR動態R輯表格Scripthttp://www.aygfsteel.com/keweibo/articles/306929.htmlKeKeTue, 22 Dec 2009 08:46:00 GMThttp://www.aygfsteel.com/keweibo/articles/306929.htmlhttp://www.aygfsteel.com/keweibo/comments/306929.htmlhttp://www.aygfsteel.com/keweibo/articles/306929.html#Feedback1http://www.aygfsteel.com/keweibo/comments/commentRss/306929.htmlhttp://www.aygfsteel.com/keweibo/services/trackbacks/306929.html     <script type="text/javascript" src="<%=root %>/dwr/engine.js"></script>
    <script type="text/javascript" src="<%=root %>/publicJS/jquery-1.3.1.js"></script>
    <script type="text/javascript">
        $(function(){
            //edit table可編輯表?br />             var numTD = $("#datatable tbody td.edit");//排除掉不能被修改的單元格
            numTD.dblclick(function(){
                var inputobj = $("<input type='text'>");//新徏文本輸入?br />                 var tdobj = $(this);//被編輯的單元?br />                 var text = tdobj.html();
               
                inputobj.val(text);
                //important 一定要在插入文本框前進行判斷
                if(tdobj.children("input").length > 0){
                    return false;
                }
                tdobj.html("");
                inputobj.width(tdobj.width());
               
                inputobj.appendTo(tdobj);
                inputobj.trigger("focus").trigger("select");
                //L文本框的雙擊事g
                inputobj.click(function(){
                    return false;
                });
                //處理늛事g
                inputobj.keyup(function(event){
                    //獲取當前按鍵的?br />                     //jQuery的event象上有一個which的屬性可以獲得鍵盤按늚鍵?br />                     var keycode = event.which;
                    //處理回車的情?br />                     if(keycode == 13){
                        //獲取當前文本框的內容
                        var inputtext = $(this).val();
                        //td的內容修Ҏ(gu)文本框珠內容
                        tdobj.html(inputtext);
                        var v_id = tdobj.parent().children().eq(1).html();
                        var column = tdobj.attr("id");
                       
                        if(column == "roleName"){
                            systemDaoAjax.updateRole({id : v_id,
                                            roleName : tdobj.parent().children("#roleName").html(),
                                            createUser : $("#hidden_username").val()
                                                }, null);
                        }else if(column == 'roleDesc'){
                            systemDaoAjax.updateRole({id : v_id,
                                            roleDesc : tdobj.parent().children("#roleDesc").html(),
                                            createUser : $("#hidden_username").val()
                                                }, null);
                        }
                    }
                    //處理ESC的情?br />                     if(keycode == 27){
                        //td中的內容原來為原先的值text
                        tdobj.html(text);
                    }
                });
                //文本框失ȝ點事?與ESC事g一?br />                 inputobj.blur(function(){
                    //td中的內容原來為原先的值text
                    tdobj.html(text);
                });
            });
        });
        function checkUserName(){
            var username = document.getElementById("username").value;
            if(!username==""){
                systemDaoAjax.validateUserName(username, function userNameCallback(data){
                    if(data){
                        document.getElementById("saveButton").disabled = false;
                        document.getElementById("feedBackMessage").style.display='none';
                        setCheckbox();//a置或者清I篩選框
                    }else{
                        document.getElementById("saveButton").disabled = true;
                        document.getElementById("feedBackMessage").style.display='block';
                    }
                });
            }
        }
        function setCheckbox(){
            var checkitem = document.getElementsByName("roleIdCheckbox")
            systemDaoAjax.getRoleByUserName(document.getElementById("username").value, function funcRoleCallback(roleArray){
                for(var i=0; i<checkitem.length; i++) {
                    checkitem[i].checked=false;
                    for(var j=0; j<roleArray.length; j++){
                        if(checkitem[i].value==roleArray[j])
                            checkitem[i].checked=true;                           
                    }
                }
            });
        }
        function saveUserRole(){
            var arrays = new Array();
            var items = document.getElementsByName("roleIdCheckbox")
            for(i=0; i<items.length; i++) {
                if(items[i].checked)
                    arrays.push(items[i].value);
            }
            if(arrays.length>0){
                systemDaoAjax.saveUserRole(document.getElementById("username").value, arrays, function saveUserRoleCallback(data){
                    if(data)
                        alert("操作成功!");
                    else
                        alert("注意:操作失敗!");
                });
            }else{
                alert("請選擇要授權的角?");
            }
        }
    </script>


Ke 2009-12-22 16:46 发表评论
]]>
JS的正则表辑ּ http://www.aygfsteel.com/keweibo/articles/186187.htmlKeKeFri, 14 Mar 2008 01:29:00 GMThttp://www.aygfsteel.com/keweibo/articles/186187.htmlhttp://www.aygfsteel.com/keweibo/comments/186187.htmlhttp://www.aygfsteel.com/keweibo/articles/186187.html#Feedback0http://www.aygfsteel.com/keweibo/comments/commentRss/186187.htmlhttp://www.aygfsteel.com/keweibo/services/trackbacks/186187.html [code] function isDigit(s) { var patrn=/^[0-9]{1,20}$/; if (!patrn.exec(s)) return false return true } [/code]

//校验d名:(x)只能输入5-20个以字母开头、可带数字?#8220;_”?#8220;.”的字?
[code] function isRegisterUserName(s) { var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/; if (!patrn.exec(s)) return false return true } [/code]

//校验用户姓名Q只能输?-30个以字母开头的字串
[code] function isTrueName(s) { var patrn=/^[a-zA-Z]{1,30}$/; if (!patrn.exec(s)) return false return true } }} //校验密码Q只能输?-20个字母、数字、下划线 [code] function isPasswd(s) { var patrn=/^(\w){6,20}$/; if (!patrn.exec(s)) return false return true } [/code]

//校验普通电(sh)话、传真号码:(x)可以“+”开_(d)除数字外Q可含有“-”
[code] 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 } [/code]

//校验手机L(fng)Q必M数字开_(d)除数字外Q可含有“-”
[code] function isMobil(s) { var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/; if (!patrn.exec(s)) return false return true } [/code]

//校验邮政~码
[code] 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 } [/code]

//校验搜烦(ch)关键?
[code] 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 } [/code]

正则表达?/span>
[code] "^\\d+$"  //非负整数Q正整数 + 0Q?"^[0-9]*[1-9][0-9]*$"  //正整?"^((-\\d+)|(0+))$"  //非正整数Q负整数 + 0Q?"^-[0-9]*[1-9][0-9]*$"  //负整?"^-?\\d+$"    //整数 "^\\d+(\\.\\d+)?$"  //非负点敎ͼ正QҎ(gu) + 0Q?"^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //正QҎ(gu) "^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$"  //非正点敎ͼ负QҎ(gu) + 0Q?"^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"  //负QҎ(gu) "^(-?\\d+)(\\.\\d+)?$"  //点?"^[A-Za-z]+$"  //?6个英文字母组成的字符?"^[A-Z]+$"  //?6个英文字母的大写l成的字W串 "^[a-z]+$"  //?6个英文字母的写l成的字W串 "^[A-Za-z0-9]+$"  //由数字和26个英文字母组成的字符?"^\\w+$"  //由数字?6个英文字母或者下划线l成的字W串 "^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$"    //email地址 "^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$"  //url "^[A-Za-z0-9_]*$" [/code]

正则表达?/span>使用详解

?

单的_(d)正则表达?/span>是一U可以用于模式匹配和替换的强有力的工兗其作用如下Q?
试字符串的某个模式。例如,可以对一个输入字W串q行试Q看在该字符串是否存在一个电(sh)话号码模式或一个信用卡L(fng)模式。这UCؓ(f)数据有效性验证?
替换文本。可以在文档中用一?span class="hilite2">正则表达?/span>来标识特定文字,然后可以全部其删除Q或者替换ؓ(f)别的文字?
Ҏ(gu)模式匚w从字W串中提取一个子字符丌Ӏ可以用来在文本或输入字D中查找特定文字?

基本语法

在对正则表达?/span>的功能和作用有了(jin)初步的了(jin)解之后,我们来具体看一?span class="hilite2">正则表达?/span>的语法格式?

正则表达?/span>的Ş式一般如下:(x)  

/love/  其中位于“/”定界W之间的部分是要在目标对象中q行匚w的模式。用户只要把希望查找匚w对象的模式内Ҏ(gu)?#8220;/”定界W之间即可。ؓ(f)?jin)能够用户更加灉|的定制模式内容,正则表达?/span>提供?jin)专门?#8220;元字W?#8221;。所谓元字符是指那些在正则表达?/span>中具有特D意义的专用字符Q可以用来规定其前导字符Q即位于元字W前面的字符Q在目标对象中的出现模式?
较ؓ(f)常用的元字符包括Q?“+”Q?“*”Q以?“?”?

“+”元字W规定其前导字符必须在目标对象中q箋(hu)出现一ơ或多次?

“*”元字W规定其前导字符必须在目标对象中出现零次或连l多ơ?

“?”元字W规定其前导对象必须在目标对象中q箋(hu)出现零次或一ơ?

下面Q就让我们来看一?span class="hilite2">正则表达?/span>元字W的具体应用?

/fo+/  因ؓ(f)上述正则表达?/span>中包?#8220;+”元字W,表示可以与目标对象中?“fool”, “fo”, 或?“football”{在字母f后面q箋(hu)出现一个或多个字母o的字W串相匹配?

/eg*/  因ؓ(f)上述正则表达?/span>中包?#8220;*”元字W,表示可以与目标对象中?“easy”, “ego”, 或?“egg”{在字母e后面q箋(hu)出现零个或多个字母g的字W串相匹配?

/Wil?/  因ؓ(f)上述正则表达?/span>中包?#8220;Q?#8221;元字W,表示可以与目标对象中?“Win”, 或?#8220;Wilson”,{在字母i后面q箋(hu)出现零个或一个字母l的字W串相匹配?

有时候不知道要匹配多字W。ؓ(f)?jin)能适应q种不确定性,正则表达?/span>支持限定W的概念。这些限定符可以指定正则表达?/span>的一个给定组件必要出现多少ơ才能满_配?

{n} n 是一个非负整数。匹配确定的 n ơ。例如,'o{2}' 不能匚w "Bob" 中的 'o'Q但是能匚w "food" 中的两个 o?

{n,} n 是一个非负整数。至匹?n ơ。例如,'o{2,}' 不能匚w "Bob" 中的 'o'Q但能匹?"foooood" 中的所?o?o{1,}' {h(hun)?'o+'?o{0,}' 则等价于 'o*'?

{n,m} m ?n 均ؓ(f)非负整数Q其中n <= m。最匹?n ơ且最多匹?m ơ。例如,"o{1,3}" 匹?"fooooood" 中的前三?o?o{0,1}' {h(hun)?'o?'。请注意在逗号和两个数之间不能有空根{?

除了(jin)元字W之外,用户q可以精指定模式在匚w对象中出现的频率。例如,/jim {2,6}/ 上述正则表达?/span>规定字符m可以在匹配对象中q箋(hu)出现2-6ơ,因此Q上q?span class="hilite2">正则表达?/span>可以同jimmy或jimmmmmy{字W串相匹配?
在对如何使用正则表达?/span>有了(jin)初步?jin)解之后Q我们来看一下其它几个重要的元字W的使用方式?
[code] \sQ用于匹配单个空格符Q包括tab键和换行W; \SQ用于匹配除单个I格W之外的所有字W; \dQ用于匹配从0?的数字; \wQ用于匹配字母,数字或下划线字符Q?\WQ用于匹配所有与\w不匹配的字符Q?. Q用于匹配除换行W之外的所有字W?[/code]
Q说明:(x)我们可以把\s和\S以及(qing)\w和\W看作互ؓ(f)逆运)(j)
下面Q我们就通过实例看一下如何在正则表达?/span>中用上q元字符?
/\s+/ 上述正则表达?/span>可以用于匚w目标对象中的一个或多个I格字符?
/\d000/ 如果我们手中有一份复杂的财务报表Q那么我们可以通过上述正则表达?/span>轻而易丄查找到所有总额辑֍元的N?
除了(jin)我们以上所介绍的元字符之外Q?span class="hilite2">正则表达?/span>中还h另外一U较为独特的专用字符Q即定位W。定位符用于规定匚w模式在目标对象中的出C|?较ؓ(f)常用的定位符包括Q?“^”, “$”, “\b” 以及(qing) “\B”?
[code] “^”定位W规定匹配模式必d现在目标字符串的开?“$”定位W规定匹配模式必d现在目标对象的结?“\b”定位W规定匹配模式必d现在目标字符串的开头或l尾的两个边界之一 “\B”定位W则规定匚w对象必须位于目标字符串的开头和l尾两个边界之内Q?卛_配对象既不能作ؓ(f)目标字符串的开_(d)也不能作为目标字W串的结?[/code]
同样Q我们也可以?#8220;^”?#8220;$”以及(qing)“\b”?#8220;\B”看作是互为逆运的两组定位W。D例来_(d)(x) /^hell/ 因ؓ(f)上述正则表达?/span>中包?#8220;^”定位W,所以可以与目标对象中以 “hell”, “hello”?#8220;hellhound”开头的字符串相匚w?/ar$/ 因ؓ(f)上述正则表达?/span>中包?#8220;$”定位W,所以可以与目标对象中以 “car”, “bar”?“ar” l尾的字W串相匹配?/\bbom/ 因ؓ(f)上述正则表达?/span>模式?#8220;\b”定位W开_(d)所以可以与目标对象中以 “bomb”, ?“bom”开头的字符串相匚w?man\b/ 因ؓ(f)上述正则表达?/span>模式?#8220;\b”定位W结,所以可以与目标对象中以 “human”, “woman”?“man”l尾的字W串相匹配?
Z(jin)能够方便用户更加灉|的设定匹配模式,正则表达?/span>允许使用者在匚w模式中指定某一个范围而不局限于具体的字W。例如:(x)
[code] /[A-Z]/  上述正则表达?/span>会(x)与从A到Z范围内Q何一个大写字母相匚w?/[a-z]/  上述正则表达?/span>会(x)与从a到z范围内Q何一个小写字母相匚w?/[0-9]/  上述正则表达?/span>会(x)与从0?范围内Q何一个数字相匚w?/([a-z][A-Z][0-9])+/ 上述正则表达?/span>会(x)与Q何由字母和数字组成的字符Ԍ?“aB0” {相匚w?[/code]
q里需要提醒用h意的一点就是可以在正则表达?/span>中?“()” 把字W串l合在一赗?#8220;()”W号包含的内容必d时出现在目标对象中。因此,上述正则表达?/span>无法与诸如 “abc”{的字符串匹配,因ؓ(f)“abc”中的最后一个字Wؓ(f)字母而非数字?
如果我们希望?span class="hilite2">正则表达?/span>中实现类似编E逻辑中的“?#8221;q算Q在多个不同的模式中任选一个进行匹配的话,可以使用道W?“|”。例如:(x)/to|too|2/ 上述正则表达?/span>会(x)与目标对象中?“to”, “too”, ?“2” 相匹配?
正则表达?/span>中还有一个较为常用的q算W,卛_定符 “[^]”。与我们前文所介绍的定位符 “^” 不同Q否定符 “[^]”规定目标对象中不能存在模式中所规定的字W串。例如:(x)/[^A-C]/ 上述字符串将?x)与目标对象中除AQBQ和C之外的Q何字W相匚w。一般来_(d)?#8220;^”出现?“[]”内时p视做否定q算W;而当“^”位于“[]”之外Q或没有“[]”Ӟ则应当被视做定位W?
最后,当用户需要在正则表达?/span>的模式中加入元字W,q查扑օ匚w对象Ӟ可以使用转义W?#8220;\”。例如:(x)/Th\*/  上述正则表达?/span>会(x)与目标对象中?#8220;Th*”而非“The”{相匚w?
在构?span class="hilite2">正则表达?/span>之后Q就可以象数学表辑ּ一h求|也就是说Q可以从左至叛_ƈ按照一个优先序来求倹{优先如下Q?
[code] 1Q\ 转义W?2Q?), (?:), (?=), [] 圆括号和Ҏ(gu)?3Q?, +, ?, {n}, {n,}, {n,m} 限定W?4Q^, $, \anymetacharacter 位置和顺?5Q|“?#8221;操作 [/code]

使用实例
?span class="hilite1">JavaScript
1.2中带有一个功能强大的RegExp()对象Q可以用来进?span class="hilite2">正则表达?/span>的匹配操作。其中的test()Ҏ(gu)可以(g)验目标对象中是否包含匚w模式Qƈ相应的返回true或false?
我们可以使用JavaScript~写以下脚本Q验证用戯入的邮g地址的有效性?
[code] <html> <head>   <script language="Javascript1.2">      <!-- start hiding      function verifyAddress(obj)      {       var email = obj.email.value;       var pattern = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;       flag = pattern.test(email);       if(flag)       {        alert(“Your email address is correct!”);        return true;       }       else        {         alert(“Please try again!”);         return false;         }       }      // stop hiding -->     </script>   </head>   <body>    <form onSubmit="return verifyAddress(this);">     <input name="email" type="text">     <input type="submit">     </form>   </body> </html> [/code]

正则表达?/span>对象
本对象包?span class="hilite2">正则表达?/span>模式以及(qing)表明如何应用模式的标志?
[code] 语法 1 re = /pattern/[flags] 语法 2 re = new RegExp("pattern",["flags"]) [/code]
参数
re
必选项。将要赋gؓ(f)正则表达?/span>模式的变量名?

Pattern
必选项。要使用?span class="hilite2">正则表达?/span>模式。如果用语?1Q用 "/" 字符分隔模式。如果用语法 2Q用引号模式引h?

Flags
可选项。如果用语?2 要用引号?flag 引v来。标志可以组合用,可用的有Q?
[code] g Q全文查扑և现的所?patternQ?i Q忽略大写Q?m Q多行查找)(j) [/code]

CZ
下面的示例创Z个包?span class="hilite2">正则表达?/span>模式?qing)相x(chng)志的对象(re)Q向(zhn)演C?span class="hilite2">正则表达?/span>对象的用法。在本例中,作ؓ(f)l果?span class="hilite2">正则表达?/span>对象又用?match Ҏ(gu)中:(x)
[code] function MatchDemo() { var r, re; // 声明变量?var s = "The rain in Spain falls mainly in the plain"; re = new RegExp("ain","g"); // 创徏正则表达?/span>对象?r = s.match(re); // 在字W串 s 中查扑֌配?return(r); } [/code]

q回|(x) ain,ain,ain,ain\\
属?lastIndex 属?| source 属性\\
Ҏ(gu) compile Ҏ(gu) | exec Ҏ(gu) | test Ҏ(gu)\\
要求 版本 3\\
请参?RegExp 对象 | 正则表达?/span>语法 | String 对象\\

exec Ҏ(gu)
?span class="hilite2">正则表达?/span>模式在字W串中运行查找,q返回包含该查找l果的一个数l?
rgExp.exec(str)

参数

rgExp
必选项。包?span class="hilite2">正则表达?/span>模式和可用标志的正则表达?/span>对象?

str
必选项。要在其中执行查扄 String 对象或字W串文字?

说明\\
如果 exec Ҏ(gu)没有扑ֈ匚wQ则它返?null。如果它扑ֈ匚wQ则 exec Ҏ(gu)q回一个数l,q且更新全局 RegExp 对象的属性,以反映匹配结果。数l的0元素包含?jin)完整的匚wQ而第1到n元素中包含的是匹配中出现的Q意一个子匚w。这相当于没有设|全局标志 (g) ?match Ҏ(gu)?
如果?span class="hilite2">正则表达?/span>讄?jin)全局标志Qexec 从以 lastIndex 的值指C的位置开始查找。如果没有设|全局标志Qexec 忽略 lastIndex 的|从字W串的v始位|开始搜索?

exec Ҏ(gu)q回的数l有三个属性,分别?input、index ?lastIndex。Input 属性包含了(jin)整个被查扄字符丌ӀIndex 属性中包含?jin)整个被查找字符串中被匹配的子字W串的位|。LastIndex 属性中包含?jin)匹配中最后一个字W的下一个位|?

CZ\\
下面的例子D例说明了(jin) exec Ҏ(gu)的用法:(x)
[code] function RegExpTest() { var ver = Number(ScriptEngineMajorVersion() + "." + ScriptEngineMinorVersion()) if (ver >= 5.5){ // 试 JScript 的版本?var src = "The rain in Spain falls mainly in the plain."; var re = /\w+/g; // 创徏正则表达?/span>模式?var arr; while ((arr = re.exec(src)) != null) document.write(arr.index + "-" + arr.lastIndex + arr + "\t"); } else{ alert("请?JScript 的更新版?); } } [/code]

q回|(x)0-3The 4-8rain 9-11in 12-17Spain 18-23falls 24-30mainly 31-33in 34-37the 38-43plain

test Ҏ(gu)\\
q回一?Boolean |它指出在被查扄字符串中是否存在模式?
rgexp.test(str)

参数\\
rgexp
必选项。包?span class="hilite2">正则表达?/span>模式或可用标志的正则表达?/span>对象?

str
必选项。要在其上测试查扄字符丌Ӏ?

说明
test Ҏ(gu)(g)查在字符串中是否存在一个模式,如果存在则返?trueQ否则就q回 false?
全局 RegExp 对象的属性不?test Ҏ(gu)来修攏V?

CZ
下面的例子D例说明了(jin) test Ҏ(gu)的用法:(x)
[code] function TestDemo(re, s) { var s1; // 声明变量?// (g)查字W串是否存在正则表达?/span>?if (re.test(s)) // 试是否存在?s1 = " contains "; // s 包含模式?else s1 = " does not contain "; // s 不包含模式?return("'" + s + "'" + s1 + "'"+ re.source + "'"); // q回字符丌Ӏ?} [/code]

函数调用Qdocument.write (TestDemo(/ain+/ ,"The rain in Spain falls mainly in the plain."));

q回|(x)'The rain in Spain falls mainly in the plain.' contains 'ain+'

match Ҏ(gu)
使用正则表达?/span>模式对字W串执行查找Qƈ包含查扄l果作ؓ(f)数组q回。\\
stringObj.match(rgExp)

参数\\
stringObj
必选项。对其进行查扄 String 对象或字W串文字?

rgExp
必选项。ؓ(f)包含正则表达?/span>模式和可用标志的正则表达?/span>对象。也可以是包?span class="hilite2">正则表达?/span>模式和可用标志的变量名或字符串文字?

说明\\
如果 match Ҏ(gu)没有扑ֈ匚wQ返?null。如果找到匹配返回一个数lƈ且更新全局 RegExp 对象的属性以反映匚wl果?
match Ҏ(gu)q回的数l有三个属性:(x)input、index ?lastIndex。Input 属性包含整个的被查扑֭W串。Index 属性包含了(jin)在整个被查找字符串中匚w的子字符串的位置。LastIndex 属性包含了(jin)最后一ơ匹配中最后一个字W的下一个位|?
如果没有讄全局标志 (g)Q数l的 0 元素包含整个匚wQ而第 1 ?n 元素包含?jin)匹配中曑և现过的Q一个子匚w。这相当于没有设|全局标志?exec Ҏ(gu)。如果设|了(jin)全局标志Q元?0 ?n 中包含所有匹配?

CZ\\
下面的示例演CZ(jin)match Ҏ(gu)的用法:(x)
[code] function MatchDemo() { var r, re; // 声明变量?var s = "The rain in Spain falls mainly in the plain"; re = /ain/i; // 创徏正则表达?/span>模式?r = s.match(re); // 试匚w搜烦(ch)字符丌Ӏ?return(r); // q回W一ơ出?"ain" 的地斏V?} [/code]
q回|(x)ain

本示例说明带 g 标志讄?match Ҏ(gu)的用法?
[code] function MatchDemo() { var r, re; // 声明变量?var s = "The rain in Spain falls mainly in the plain"; re = /ain/ig; // 创徏正则表达?/span>模式?r = s.match(re); // 试d配搜索字W串?return(r); // q回的数l包含了(jin)所?"ain" // 出现的四个匹配?} [/code]
q回|(x)ain,ain,ain,ain

上面几行代码演示?jin)字W串文字?match Ҏ(gu)的用法?
[code] var r, re = "Spain"; r = "The rain in Spain".replace(re, "Canada"); return r; [/code]
q回|(x)The rain in Canada

search Ҏ(gu)
q回?span class="hilite2">正则表达?/span>查找内容匚w的第一个子字符串的位置?

stringObj.search(rgExp)

参数\\
stringObj
必选项。要在其上进行查扄 String 对象或字W串文字?

rgExp
必选项。包?span class="hilite2">正则表达?/span>模式和可用标志的正则表达?/span>对象?

说明

search Ҏ(gu)指明是否存在相应的匹配。如果找C个匹配,search Ҏ(gu)返回一个整数|指明q个匚w距离字符串开始的偏移位置。如果没有找到匹配,则返?-1?

CZ\\
下面的示例演CZ(jin) search Ҏ(gu)的用法?
[code] function SearchDemo() { var r, re; // 声明变量?var s = "The rain in Spain falls mainly in the plain."; re = /falls/i; // 创徏正则表达?/span>模式?r = s.search(re); // 查找字符丌Ӏ?return(r); // q回 Boolean l果?} [/code]
q回|(x)18


正则表达?/span>语法
一?span class="hilite2">正则表达?/span>是由普通字W(例如字符 a ?zQ以?qing)特D字W(UCؓ(f)元字W)(j)l成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符丌Ӏ?span class="hilite2">正则表达?/span>作ؓ(f)一个模板,某个字W模式与所搜烦(ch)的字W串q行匚w?

q里有一些可能会(x)遇到?span class="hilite2">正则表达?/span>CZQ?
[code] JScript VBScript 匚w /^\[ \t]*$/ "^\[ \t]*$" 匚w一个空白行?/\d{2}-\d{5}/ "\d{2}-\d{5}" 验证一个ID L(fng)是否׃?位数字,一个连字符以及(qing)一?位数字组成?/<(.*)>.*<\/\1>/ "<(.*)>.*<\/\1>" 匚w一?HTML 标记?[/code]

下表是元字符?qing)其?span class="hilite2">正则表达?/span>上下文中的行为的一个完整列表:(x)

字符 描述
\ 下一个字W标Cؓ(f)一个特D字W、或一个原义字W、或一?后向引用、或一个八q制转义W。例如,'n' 匚w字符 "n"?\n' 匚w一个换行符。序?'\\' 匚w "\" ?"\(" 则匹?"("?

^ 匚w输入字符串的开始位|。如果设|了(jin) RegExp 对象?Multiline 属性,^ 也匹?'\n' ?'\r' 之后的位|?

$ 匚w输入字符串的l束位置。如果设|了(jin)RegExp 对象?Multiline 属性,$ 也匹?'\n' ?'\r' 之前的位|?

* 匚w前面的子表达式零ơ或多次。例如,zo* 能匹?"z" 以及(qing) "zoo"?* {h(hun)于{0,}?

+ 匚w前面的子表达式一ơ或多次。例如,'zo+' 能匹?"zo" 以及(qing) "zoo"Q但不能匚w "z"? {h(hun)?{1,}?

? 匚w前面的子表达式零ơ或一ơ。例如,"do(es)?" 可以匚w "do" ?"does" 中的"do" ? {h(hun)?{0,1}?

{n} n 是一个非负整数。匹配确定的 n ơ。例如,'o{2}' 不能匚w "Bob" 中的 'o'Q但是能匚w "food" 中的两个 o?

{n,} n 是一个非负整数。至匹配n ơ。例如,'o{2,}' 不能匚w "Bob" 中的 'o'Q但能匹?"foooood" 中的所?o?o{1,}' {h(hun)?'o+'?o{0,}' 则等价于 'o*'?

{n,m} m ?n 均ؓ(f)非负整数Q其中n <= m。最匹?n ơ且最多匹?m ơ。刘Q?"o{1,3}" 匹?"fooooood" 中的前三?o?o{0,1}' {h(hun)?'o?'。请注意在逗号和两个数之间不能有空根{?

? 当该字符紧跟在Q何一个其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面Ӟ匚w模式是非贪婪的。非贪婪模式可能少的匹配所搜烦(ch)的字W串Q而默认的贪婪模式则尽可能多的匚w所搜烦(ch)的字W串。例如,对于字符?"oooo"Q?o+?' 匹配单?"o"Q?'o+' 匹配所?'o'?

. 匚w?"\n" 之外的Q何单个字W。要匚w包括 '\n' 在内的Q何字W,请用象 '[.\n]' 的模式?
(pattern) 匚wpattern q获取这一匚w。所获取的匹配可以从产生?Matches 集合得到Q在VBScript 中?SubMatches 集合Q在JScript 中则使用 $0…$9 属性。要匚w圆括号字W,请?'\(' ?'\)'?

(?:pattern) 匚w pattern 但不获取匚wl果Q也是说这是一个非获取匚wQ不q行存储供以后用。这在?"? 字符 (|) 来组合一个模式的各个部分是很有用。例如, 'industr(?:y|ies) 是一个比 'industry|industries' 更简略的表达式?

(?=pattern) 正向预查Q在M匚w pattern 的字W串开始处匚w查找字符丌Ӏ这是一个非获取匚wQ也是_(d)该匹配不需要获取供以后使用。例如, 'Windows (?=95|98|NT|2000)' 能匹?"Windows 2000" 中的 "Windows" Q但不能匚w "Windows 3.1" 中的 "Windows"。预查不消耗字W,也就是说Q在一个匹配发生后Q在最后一ơ匹配之后立卛_始下一ơ匹配的搜烦(ch)Q而不是从包含预查的字W之后开始?

(?!pattern) 负向预查Q在M不匹配Negative lookahead matches the search string at any point where a string not matching pattern 的字W串开始处匚w查找字符丌Ӏ这是一个非获取匚wQ也是_(d)该匹配不需要获取供以后使用。例?Windows (?!95|98|NT|2000)' 能匹?"Windows 3.1" 中的 "Windows"Q但不能匚w "Windows 2000" 中的 "Windows"。预查不消耗字W,也就是说Q在一个匹配发生后Q在最后一ơ匹配之后立卛_始下一ơ匹配的搜烦(ch)Q而不是从包含预查的字W之后开?

x|y 匚w x ?y。例如,'z|food' 能匹?"z" ?"food"?(z|f)ood' 则匹?"zood" ?"food"?

[xyz] 字符集合。匹配所包含的Q意一个字W。例如, '[abc]' 可以匚w "plain" 中的 'a'?

[^xyz] 负值字W集合。匹配未包含的Q意字W。例如, '[^abc]' 可以匚w "plain" 中的'p'?

[a-z] 字符范围。匹配指定范围内的Q意字W。例如,'[a-z]' 可以匚w 'a' ?'z' 范围内的L写字母字符?

[^a-z] 负值字W范围。匹配Q何不在指定范围内的Q意字W。例如,'[^a-z]' 可以匚wM不在 'a' ?'z' 范围内的L字符?

\b 匚w一个单词边界,也就是指单词和空格间的位|。例如, 'er\b' 可以匚w"never" 中的 'er'Q但不能匚w "verb" 中的 'er'?

\B 匚w非单词边界?er\B' 能匹?"verb" 中的 'er'Q但不能匚w "never" 中的 'er'?

\cx 匚w由x指明的控制字W。例如, \cM 匚w一?Control-M 或回车符?x 的值必Mؓ(f) A-Z ?a-z 之一。否则,?c 视ؓ(f)一个原义的 'c' 字符?

\d 匚w一个数字字W。等价于 [0-9]?

\D 匚w一个非数字字符。等价于 [^0-9]?

\f 匚w一个换늬。等价于 \x0c ?\cL?

\n 匚w一个换行符。等价于 \x0a ?\cJ?

\r 匚w一个回车符。等价于 \x0d ?\cM?

\s 匚wMI白字符Q包括空根{制表符、换늬{等。等价于 [ \f\n\r\t\v]?

\S 匚wM非空白字W。等价于 [^ \f\n\r\t\v]?

\t 匚w一个制表符。等价于 \x09 ?\cI?

\v 匚w一个垂直制表符。等价于 \x0b ?\cK?

\w 匚w包括下划U的M单词字符。等价于'[A-Za-z0-9_]'?

\W 匚wM非单词字W。等价于 '[^A-Za-z0-9_]'?

\xn 匚w nQ其?n 为十六进制{义倹{十六进制{义值必Mؓ(f)定的两个数字长。例如, '\x41' 匚w "A"?\x041' 则等价于 '\x04' & "1"?span class="hilite2">正则表达?/span>中可以?ASCII ~码?

\num 匚w numQ其?num 是一个正整数。对所获取的匹配的引用。例如,'(.)\1' 匚w两个q箋(hu)的相同字W?

\n 标识一个八q制转义值或一个后向引用。如?\n 之前臛_ n 个获取的子表辑ּQ则 n 为后向引用。否则,如果 n 为八q制数字 (0-7)Q则 n Z个八q制转义倹{?

\nm 标识一个八q制转义值或一个后向引用。如?\nm 之前臛_有is preceded by at least nm 个获取得子表辑ּQ则 nm 为后向引用。如?\nm 之前臛_?n 个获取,?n Z个后跟文?m 的后向引用。如果前面的条g都不满Q若 n ?m 均ؓ(f)八进制数?(0-7)Q则 \nm 匹配八q制转义?nm?

\nml 如果 n 为八q制数字 (0-3)Q且 m ?l 均ؓ(f)八进制数?(0-7)Q则匚w八进制{义?nml?

\un 匚w nQ其?n 是一个用四个十六q制数字表示?Unicode 字符。例如, \u00A9 匚w版权W号 (?)?


优先权顺?/span>
在构?span class="hilite2">正则表达?/span>之后Q就可以象数学表辑ּ一h求|也就是说Q可以从左至叛_ƈ按照一个优先权序来求倹{?

下表从最高(sh)先到最低优先列出各种正则表达?/span>操作W的优先权顺序:(x)
[code] 操作W?描述 \ 转义W?(), (?:), (?=), [] 圆括号和Ҏ(gu)?*, +, ?, {n}, {n,}, {n,m} 限定W?^, $, \anymetacharacter 位置和顺?| “?#8221;操作 [/code]

普通字W?

普通字W由所有那些未昑ּ指定为元字符的打印和非打印字W组成。这包括所有的大写和小写字母字W,所有数字,所有标点符号以?qing)一些符受?

最单的正则表达?/span>是一个单独的普通字W,可以匚w所搜烦(ch)字符串中的该字符本n。例如,单字W模?'A' 可以匚w所搜烦(ch)字符串中M位置出现的字?'A'。这里有一些单字符正则表达?/span>模式的示例:(x)
[code] /a/ /7/ /M/ [/code]
{h(hun)?VBScript 单字W?span class="hilite2">正则表达?/span>为:(x)
[code] "a" "7" "M" [/code]
可以多个单字符l合在一起得C个较大的表达式。例如,下面?JScript 正则表达?/span>不是别的Q就是通过l合单字W表辑ּ 'a'?7'以及(qing) 'M' 所创徏出来的一个表辑ּ?

/a7M/
{h(hun)?VBScript 表达式ؓ(f)Q?

"a7M"
h意这里没有连接操作符。所需要做的就是将一个字W放在了(jin)另一个字W后面?

Ke 2008-03-14 09:29 发表评论
]]>
javascript获取当前面url值及(qing)url中的参数?/title><link>http://www.aygfsteel.com/keweibo/articles/186186.html</link><dc:creator>Ke</dc:creator><author>Ke</author><pubDate>Fri, 14 Mar 2008 01:25:00 GMT</pubDate><guid>http://www.aygfsteel.com/keweibo/articles/186186.html</guid><wfw:comment>http://www.aygfsteel.com/keweibo/comments/186186.html</wfw:comment><comments>http://www.aygfsteel.com/keweibo/articles/186186.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.aygfsteel.com/keweibo/comments/commentRss/186186.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/keweibo/services/trackbacks/186186.html</trackback:ping><description><![CDATA[<table style="table-layout: fixed"> <tbody> <tr> <td> <div id="wmqeeuq" class="cnt" id="blog_text"> <p>一个简单用的例子Q?br /> <SCRIPT LANGUAGE="JavaScript"><br /> <!--<br /> var q = location.search.substr(1);<br /> var qs = q.split("&");<br /> if (qs) {<br /> for (var i=0;i<qs.length;i++) {<br />    alert("QueryName:"+qs[i].substring(0,qs[i].indexOf("="))+"\nQueryValue:"+qs[i].substring(qs[i].indexOf("=")+1))<br /> }<br /> }<br /> //--><br /> </SCRIPT></p> <p>《JAVA权威指南》中的例子:(x)<br />    function    getArgs()   <br />    {   <br />            var    args=new    Object();   <br />            var    query=location.search.substring(1);//获取查询?nbsp;  <br />            var    pairs=query.split(",");//在逗号处断开   <br />            for(var    i=0;i<pairs.length;i++)   <br />            {   <br />                    var    pos=pairs[i].indexOf('=');//查找name=value   <br />                    if(pos==-1)    continue;//如果没有扑ֈpq?nbsp;  <br />                    var    argname=pairs[i].substring(0,pos);//提取name   <br />                    var    value=pairs[i].substring(pos+1);//提取value   <br />                    args[argname]=unescape(value);//存(sh)ؓ(f)属?nbsp;  <br />            }   <br />            return    args;//q回对象   <br />    } </p> <p>搜集来的例子Q?br /> <script>   <br />    var    url="http://www.163.com/123.aspx?name=mary&age=23&page=123";   <br />    var    str=url.split("?")[1];   <br />    var    result="";   <br />    function    getParameter(psName){   <br />    if(str.indexOf(psName)!=-1&&(str.substr(str.indexOf(psName)-1,1)=="?"||str.substr(str.indexOf(psName)-1,1)=="&")){   <br />    if(str.substring(str.indexOf(psName),str.length).indexOf("&")!=-1){   <br />    var    Test=str.substring(str.indexOf(psName),str.length);   <br />    result=Test.substr(Test.indexOf(psName),Test.indexOf("&")-Test.indexOf(psName));   <br />    }   <br />    else{   <br />    result=str.substring(str.indexOf(psName),str.length);   <br />    }   <br />    }   <br />    else{   <br />    result="无此参数";   <br />    }   <br />    alert(result);   <br />    }   <br />    getParameter("age");   <br />    </script></p> <p><br /> <script type="text/javascript"><br />                       //var pathname = location.pathname;当前面的URL<br />                       //var href = location.href;当前面中连接的URL<br />                       var q = location.search.substr(1);//前一面的URL<br />                       var qs = q.split("&");<br />                       var m=qs[1].substring(qs[1].indexOf("=")+1);<br />                       var d=qs[2].substring(qs[2].indexOf("=")+1);<br />                       alert("(zhn)所l计的日期ؓ(f)"+m+"?+d+"日!");                  <br /> </script><br /> 搜集相关|址Q?a >http://www.ifmiss.com/1/blog/article.asp?id=195</a><br />                         <a >http://blog.chinaunix.net/u/21267/showart.php?id=276569</a></p> </div> </td> </tr> </tbody> </table> <img src ="http://www.aygfsteel.com/keweibo/aggbug/186186.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/keweibo/" target="_blank">Ke</a> 2008-03-14 09:25 <a href="http://www.aygfsteel.com/keweibo/articles/186186.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>break语句和continue语句 http://www.aygfsteel.com/keweibo/articles/176317.htmlKeKeFri, 18 Jan 2008 11:51:00 GMThttp://www.aygfsteel.com/keweibo/articles/176317.htmlhttp://www.aygfsteel.com/keweibo/comments/176317.htmlhttp://www.aygfsteel.com/keweibo/articles/176317.html#Feedback0http://www.aygfsteel.com/keweibo/comments/commentRss/176317.htmlhttp://www.aygfsteel.com/keweibo/services/trackbacks/176317.htmlbreakcontinuebreakcontinue

for110iifi55break"4"continuebreak

"8"9i5continueiNum++breakcontinue

outermostforfor10iNum++100iNum100breakbreakforjforiiNum55ij5continue

continuej55iNum95可以看到Q与break?/span>continue联合使用的有标签语句的功能非常强大,不过q度使用它们?x)给调试代码带来ȝ?ch)。要保使用的标{օ有说明性,不要嵌套太多层@环?/span>



Ke 2008-01-18 19:51 发表评论
]]>
JavaScriptq代语句http://www.aygfsteel.com/keweibo/articles/176316.htmlKeKeFri, 18 Jan 2008 11:49:00 GMThttp://www.aygfsteel.com/keweibo/articles/176316.htmlhttp://www.aygfsteel.com/keweibo/comments/176316.htmlhttp://www.aygfsteel.com/keweibo/articles/176316.html#Feedback0http://www.aygfsteel.com/keweibo/comments/commentRss/176316.htmlhttp://www.aygfsteel.com/keweibo/services/trackbacks/176316.htmlZ(jin)q种处理提供?jin)四UP代语句?/span>

1. do-while语句

do-while

2. while语句

while

3. for语句

for

0ii<iCounttrueforifor-in语句

for-in

for-inwindowproperty- IsEnumerable()中专门用于说明属性是否可以用for-in

Ke 2008-01-18 19:49 发表评论
]]>
JavaScript中的字符串操?/title><link>http://www.aygfsteel.com/keweibo/articles/175289.html</link><dc:creator>Ke</dc:creator><author>Ke</author><pubDate>Mon, 14 Jan 2008 12:09:00 GMT</pubDate><guid>http://www.aygfsteel.com/keweibo/articles/175289.html</guid><wfw:comment>http://www.aygfsteel.com/keweibo/comments/175289.html</wfw:comment><comments>http://www.aygfsteel.com/keweibo/articles/175289.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/keweibo/comments/commentRss/175289.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/keweibo/services/trackbacks/175289.html</trackback:ping><description><![CDATA[<span id="wmqeeuq" class="t18">  一、概q?br />     字符串在JavaScript中几乎无处不在,在你处理用户的输?nobr><strong class="kgb" onmouseover='isShowAds = false;isShowAds2 = false;isShowGg = true;InTextAds_GgLayer="_u6570_u636E";KeyGate_ads.ShowGgAds(this,"_u6570_u636E",event)' style="border-right: 0px; padding-right: 0px; border-top: 0px; padding-left: 0px; font-weight: normal; padding-bottom: 0px; margin: 0px; border-left: 0px; cursor: hand; color: #0000ff; padding-top: 0px; border-bottom: 0px; text-decoration: underline" onclick='javascript:window.open("http://pagead2.googlesyndication.com/pagead/iclk?sa=l&ai=BR1B4SVCLR_LWI5z26wPqx_B-24_LPNvJl9gDwI23AeDFCBACGAIgrYXQDSgUOABQ1qCA5_j_____AWCdsd6B2AWqAQoyMDAwMDM3NTQxsgEPd3d3Lmtub3dza3kuY29tyAEB2gEiaHR0cDovL3d3dy5rbm93c2t5LmNvbS8zNDEyMzAuaHRtbIACAakCg7aTRJOBgj7IAs_i-ASoAwHoA7QD6AMi6AMg6AMF&num=2&adurl=http://www.zycode.cn/PRODUCTS/solution.htm&client=ca-pub-5186439242807756");GgKwClickStat("数据","www.zycode.cn","afc","2000037541");' onmouseout='isShowGg = false;InTextAds_GgLayer="_u6570_u636E"'>数据</strong></nobr>的时候,在读取或讄DOM对象的属性时Q在操作cookieӞ当然q有更多...。JavaScript的核?j)部分提供?jin)一l属性和Ҏ(gu)用于通用的字W串操作Q如分割字符Ԍ改变字符串的大小写,操作子字W串{?br />     当前的大部分览器也能从强大的正则表辑ּL(fng)Q因为它极大地简化了(jin)大量的字W串操作dQ不q它也需要你克服一条有些陡峭的学习(fn)曲线。在q里Q主要是介绍字符串本w的一些操作,正则表达式会(x)在以后的随笔中涉?qing)? <p>二、字W串的创?br />     创徏一个字W串有几U方法。最单的是用引号一l字W包含v来,可以其赋值给一个字W串变量?br />     var myStr = "Hello, String!";<br />     可以用双引号或单引号字W串包含Q但要注意,作ؓ(f)界定字符串的一对引号必L相同的,不能L(fng)?br />     像var myString = "Fluffy is a pretty cat.'; q样的声明就是非法的?br />     允许使用两种引号Q得某些操作变得简单,比如一U嵌入另外一U:(x)<br />     document.write("<img src='img/logo.jpg' height='30' width='100' alt='Logo'>");</p> <p>    我们在上面脚本创Z(jin)几个字符Ԍ但本质上Q它们ƈ不是真正的字W串对象Q准地_(d)它们是字W串cd的倹{要创徏一个字W串对象Q可使用如下语句Qvar strObj = new String("Hello, String!");<br />     使用typeofq算W查看会(x)发现Q上面的myStrcd为stringQ而strObjcd为object?br />     <br />     如果想知道字W串的长度,使用其length属性:(x)string.length?br />     得到字符串的指定位置的字W用方法:(x)string.charAt(index);</p> <p>三、字W串的拼?br /> 问题Q?br />     两个或多个字符串拼接ؓ(f)一个大的字W串<br /> <nobr><strong class="kgb" onmouseover='isShowAds = false;isShowAds2 = false;isShowGg = true;InTextAds_GgLayer="_u89E3_u51B3_u65B9_u6848";KeyGate_ads.ShowGgAds(this,"_u89E3_u51B3_u65B9_u6848",event)' style="border-right: 0px; padding-right: 0px; border-top: 0px; padding-left: 0px; font-weight: normal; padding-bottom: 0px; margin: 0px; border-left: 0px; cursor: hand; color: #0000ff; padding-top: 0px; border-bottom: 0px; text-decoration: underline" onclick='javascript:window.open("http://pagead2.googlesyndication.com/pagead/iclk?sa=l&ai=BWmaUSVCLR_LWI5z26wPqx_B-zZ7SPumuoJ0FwI23AfDXHBAIGAggrYXQDSgUOABQ8JaUovr_____AWCdsd6B2AWqAQoyMDAwMDM3NTQxsgEPd3d3Lmtub3dza3kuY29tyAEB2gEiaHR0cDovL3d3dy5rbm93c2t5LmNvbS8zNDEyMzAuaHRtbKkCg7aTRJOBgj7IArm0jASoAwHoA7QD6AMi6AMg6AMF&num=8&adurl=http://www.boschsecurity.com.cn&client=ca-pub-5186439242807756");GgKwClickStat("解决Ҏ(gu)","www.boschsecurity.com.cn","afc","2000037541");' onmouseout='isShowGg = false;InTextAds_GgLayer="_u89E3_u51B3_u65B9_u6848"'>解决Ҏ(gu)</strong></nobr>Q?br />     非常单,q一?+"两个字W串"相加"Q?br />     var longString = "One piece " + "plus one more piece."; <br />     要将多个字符串篏Uؓ(f)一个字W串Q还可以使用"+="操作W:(x)<br />     var result = "";<br />     result += "My name is Anders"<br />     result += " and my age is 25";   <br />     <br />     要在字符串中d换行W,需要用{义字W?\n"Q?br />     var confirmString = "You did not enter a response to the last " +<br />         "question.\n\nSubmit form anyway?";<br />     var confirmValue = confirm(confirmString);<br />     但这U方法只能用在像警告、确认对话框之类的情况下Q如果将q段文本作ؓ(f)HTML内容呈现Q就无效?jin),此时?<br>"代替它:(x)<br />     var htmlString = "First line of string.<br>Second line of string.";<br />     document.write(htmlString);</p> <p>    String对象q提供了(jin)Ҏ(gu)concat()Q它完成?+"相同的功能:(x)<br />     string.concat(value1, value2, ...)<br />     不过concat()Ҏ(gu)昄不如"+"来得直观z?/p> <p>四、访问字W串的子?br /> 问题Q?br />     获得一字符串的一部分的副本?br /> 解决Ҏ(gu)Q?br />     使用substring()或slice()Ҏ(gu)(NN4+, IE4+)Q下面说明它们的具体用法?br />     substring()?nobr><strong class="kgb" onmouseover='isShowAds = false;isShowAds2 = false;isShowGg = true;InTextAds_GgLayer="_u539F_u578B";KeyGate_ads.ShowGgAds(this,"_u539F_u578B",event)' style="border-right: 0px; padding-right: 0px; border-top: 0px; padding-left: 0px; font-weight: normal; padding-bottom: 0px; margin: 0px; border-left: 0px; cursor: hand; color: #0000ff; padding-top: 0px; border-bottom: 0px; text-decoration: underline" onclick='javascript:window.open("http://pagead2.googlesyndication.com/pagead/iclk?sa=l&ai=BR1B4SVCLR_LWI5z26wPqx_B-24_LPNvJl9gDwI23AeDFCBACGAIgrYXQDSgUOABQ1qCA5_j_____AWCdsd6B2AWqAQoyMDAwMDM3NTQxsgEPd3d3Lmtub3dza3kuY29tyAEB2gEiaHR0cDovL3d3dy5rbm93c2t5LmNvbS8zNDEyMzAuaHRtbIACAakCg7aTRJOBgj7IAs_i-ASoAwHoA7QD6AMi6AMg6AMF&num=2&adurl=http://www.zycode.cn/PRODUCTS/solution.htm&client=ca-pub-5186439242807756");GgKwClickStat("原型","www.zycode.cn","afc","2000037541");' onmouseout='isShowGg = false;InTextAds_GgLayer="_u539F_u578B"'>原型</strong></nobr>为:(x)  string.substring(from, to)<br />     W一个参数from指定?jin)子字符串在原字W串中的起始位置(Z0的烦(ch)?Q第二个参数to是可选的Q它指定?jin)子字符串在原字W串的结束位|?Z0的烦(ch)?Q一般情况下Q它应比from大,如果它被省略Q那么子字符串将一直到原字W串的结֤?br />     如果参数from不小?j)比参数to大了(jin)?x)怎样QJavaScript?x)自动调解子字符串的h位置Q也是_(d)substring()L从两个参C较小的那个开始,到较大的那个l束。不q要注意Q它包含起始位置的那个字W,但不包含l束位置的那个字W?br />     var fullString = "Every dog has his day.";<br />     var section = fullString.substring(0, 4); // section is "Ever".<br />     section = fullString.substring(4, 0);     // section is also "Ever".<br />     section = fullString.substring(1, 1);     // section is an empty string.<br />     section = fullString.substring(-2, 4); // section is "Ever", same as fullString.substring(0, 4);    slice()的原型ؓ(f)Q?nbsp; string.slice(start, end)<br />     参数start表示子串的v始位|,如果敎ͼ那么可以理解为倒数W几个开始,例如-3表示从倒数W三个开始;参数end表示l束位置Q与start一P它也可以敎ͼ其含义也表示到倒数W几个结束。slice()的参数可以ؓ(f)负数Q所以要比substring()更加灉|Q但没那么宽容了(jin)Q如果start比end要大Q它?yu)返回一个空字符?CZ??br />     q有一个方法是substr()Q其原型为:(x) string.substr(start, length)<br />     从原型可以看出它的参数的含义Qstart表示起始位置Qlength则表C子字符串的长度。JavaScript标准不提倡用该Ҏ(gu)?br /> 五、字W串的大写转换<br /> 问题Q?br />     在你的页面上有文本框接收用户的输入信息,比如城市(jng)Q然后你?x)根据他的城市(jng)的不同做不同的处理Q这时自然会(x)用到字符串比较,那么在比较前Q最好进行大写转换Q这样只要考虑转换后的情Ş卛_Q或者要在页面上攉数据Q然后将q些数据存储?nobr><strong class="kgb" onmouseover='isShowAds = false;isShowAds2 = false;isShowGg = true;InTextAds_GgLayer="_u6570_u636E_u5E93";KeyGate_ads.ShowGgAds(this,"_u6570_u636E_u5E93",event)' style="border-right: 0px; padding-right: 0px; border-top: 0px; padding-left: 0px; font-weight: normal; padding-bottom: 0px; margin: 0px; border-left: 0px; cursor: hand; color: #0000ff; padding-top: 0px; border-bottom: 0px; text-decoration: underline" onclick='javascript:window.open("http://pagead2.googlesyndication.com/pagead/iclk?sa=l&ai=BR1B4SVCLR_LWI5z26wPqx_B-24_LPNvJl9gDwI23AeDFCBACGAIgrYXQDSgUOABQ1qCA5_j_____AWCdsd6B2AWqAQoyMDAwMDM3NTQxsgEPd3d3Lmtub3dza3kuY29tyAEB2gEiaHR0cDovL3d3dy5rbm93c2t5LmNvbS8zNDEyMzAuaHRtbIACAakCg7aTRJOBgj7IAs_i-ASoAwHoA7QD6AMi6AMg6AMF&num=2&adurl=http://www.zycode.cn/PRODUCTS/solution.htm&client=ca-pub-5186439242807756");GgKwClickStat("数据?,"www.zycode.cn","afc","2000037541");' onmouseout='isShowGg = false;InTextAds_GgLayer="_u6570_u636E_u5E93"'>数据?/strong></nobr>Q而数据库恰好只接收大写字W;在这些情况下Q我们都要考虑对字W串q行大小写{换?br /> 解决Ҏ(gu)Q?br />     使用toLowerCase()和toUpperCase()Ҏ(gu)Q?br />     var city = "ShanGHai"; <br />     city = city.toLowerCase();  // city is "shanghai" now.<br /> 六、判断两个字W串是否相等<br /> 问题Q?br />     比如Q你x(chng)用户的输入g已知的字W串比较<br /> 解决Ҏ(gu)Q?br />     先将用户的输入值全部{换ؓ(f)大写Q或写Q,然后再行比较Q?br />     var name = document.form1.txtUserName.value.toLowerCase();<br />     if(name == "urname")<br />     {<br />         // statements go here.<br />     }<br />     JavaScript有两U相{运符。一U是完全向后兼容的,标准?=="Q如果两个操作数cd不一_(d)它会(x)在某些时候自动对操作数进行类型{换,考虑下面的赋D句:(x)<br />     var strA = "i love you!";<br />     var strB = new String("i love you!");<br />     q两个变量含有相同的字符序列Q但数据cd却不同,前者ؓ(f)stringQ后者ؓ(f)objectQ在使用"=="操作W时QJavaScript?x)尝试各U求|以检两者是否会(x)在某U情况下相等。所以下面的表达式结果ؓ(f)trueQ?strA == strB?br />     W二U操作符?严格"?==="Q它在求值时不会(x)q么宽容Q不?x)进行类型{换。所以表辑ּstrA === strB的gؓ(f)falseQ虽然两个变量持有的值相同?br />     有时代码的逻辑要求你判断两个值是否不相等Q这里也有两个选择Q?!="和严格的"!=="Q它们的关系qg"=="?==="?br /> 讨论Q?br />     "=="?!="在求值时?x)尽可能地寻扑ր的匚w性,但你可能q是惛_比较前进行显式的cd转换Q以"帮助"它们完成工作。比如,如果惛_断一个用L(fng)输入|字符Ԍ(j)是否{于一个数字,你可以让"=="帮你完成cd转换Q?br />     if(document.form1.txtAge.value == someNumericVar) { ... }<br />     也可以提前{换:(x)<br />     if(parseInt(document.form1.txtAge.value) == someNumericVar) { ... }<br />     如果你比较习(fn)惯于强类型的~程语言(比如C#,Java{?Q那么这里你可以延箋(hu)你的?fn)?cd转换)Q这样也?x)增强程序的可读性?/p> <p>    有一U情况需要注意,是计算机的区域讄。如果用"<"?>"来比较字W串Q那么JavaScript把它们作为Unicode来比较,但显?dng)Z在浏览网|不会(x)把文本当作Unicode来阅?) 比如在西班牙语中Q按照传l的排序Q?ch"作Z个字W排?c"?d"之间。localeCompare()提供?jin)一U方式,可以帮助你用默认区域设|下的字W排序规则?br />     var strings;  // 要排序的字符串数l,假设已经得到初始?br />     strings.sort(function(a,b) { return a.localeCompare(b) });  // 调用sort()Ҏ(gu)q行排序</p> <p>七、字W串的查?br /> 问题Q?br />     判断一个字W串是否包含另一个字W串?br /> 解决Ҏ(gu)Q?br />     使用string的indexOf()Ҏ(gu)Q?br />     strObj.indexOf(subString[, startIndex])<br />     strObjq行判断的字W串QsubString在strObj查找的子字符ԌstartIndex是可选的Q表C查扄开始位|?Z0的烦(ch)?Q如果startIndex省略Q则从strObj开始处查找Q如果startIndex于0Q则?开始,如果startIndex大于最大烦(ch)引,则从最大烦(ch)引处开始?br />     indexOf()q回strObj中subString的开始位|,如果没有扑ֈQ则q回-1。在脚本中,可以q么使用Q?br />     if(largeString.indexOf(shortString) != -1)<br />     {<br />         // 如果包含Q进行相应处理;<br />     }<br />     也许一个字W串?x)包含另一字符串不止一ơ,q时W二个参数startIndex也许?x)派上用场,下面q个函数演示如何求得一个字W串包含另外一个字W串的次敎ͼ(x)<br />     function countInstances(mainStr, subStr)<br />     {<br />         var count = 0;<br />         var offset = 0;<br />         do<br />         {<br />             offset = mainStr.indexOf(subStr, offset);<br />             if(offset != -1)<br />             {<br />                 count++;<br />                 offset += subStr.length;<br />             }<br />         }while(offset != -1)<br />         return count;<br />     }<br />     String对象有一个与indexOf()对应的方法,lastIndexOf()Q?br />     strObj.lastIndexOf(substring[, startindex])<br />     strObjq行判断的字W串QsubString在strObj查找的子字符ԌstartIndex是可选的Q表C查扄开始位|?Z0的烦(ch)?Q如果startIndex省略Q则从strObj末尾处查找,如果startIndex于0Q则?开始,如果startIndex大于最大烦(ch)引,则从最大烦(ch)引处开始。该Ҏ(gu)自右向左查找Q返回subString在strObj中最后出现的位置Q如果没有找刎ͼq回-1?/p> <p>八、在Unicode值和字符串中的字W间转换<br /> 问题Q?br />     获得一个字W的Unicode~码|反之亦然?br /> 解决Ҏ(gu)Q?br />     要获得字W的Unicode~码Q可以用string.charCodeAt(index)Ҏ(gu)Q其定义为:(x)<br />     strObj.charCodeAt(index)<br />     index为指定字W在strObj对象中的位置Q基?的烦(ch)引)(j)Q返回gؓ(f)0?5535之间?6位整数。例如:(x)<br />     var strObj = "ABCDEFG";<br />     var code = strObj.charCodeAt(2); // Unicode value of character 'C' is 67<br />     如果index指定的烦(ch)引处没有字符Q则q回gؓ(f)NaN?/p> <p>    要将Unicode~码转换Z个字W,使用String.fromCharCode()Ҏ(gu)Q注意它是String对象的一??rn)态方?Q也是说在使用前不需要创建字W串实例Q?br />     String.fromCharCode(c1, c2, ...)<br />     它接?个或多个整数Q返回一个字W串Q该字符串包含了(jin)各参数指定的字符Q例如:(x)<br />     var str = String.fromCharCode(72, 101, 108, 108, 111);  // str == "Hello"<br /> 讨论Q?br /> Unicode包含?jin)这个世界上很多书写语言的字W集Q但别因为Unicode包含一个字W就期望q个字符能够在警告对话框、文本框或页面呈现时正常<nobr><strong class="kgb" onmouseover='isShowAds = false;isShowAds2 = false;isShowGg = true;InTextAds_GgLayer="_u663E_u793A";KeyGate_ads.ShowGgAds(this,"_u663E_u793A",event)' style="border-right: 0px; padding-right: 0px; border-top: 0px; padding-left: 0px; font-weight: normal; padding-bottom: 0px; margin: 0px; border-left: 0px; cursor: hand; color: #0000ff; padding-top: 0px; border-bottom: 0px; text-decoration: underline" onclick='javascript:window.open("http://pagead2.googlesyndication.com/pagead/iclk?sa=l&ai=BHbhDSVCLR_LWI5z26wPqx_B-0OfmQpSntasEwI23AZCSFBABGAEgrYXQDSgUOABQqv_nqwJgnbHegdgFqgEKMjAwMDAzNzU0MbIBD3d3dy5rbm93c2t5LmNvbcgBAdoBImh0dHA6Ly93d3cua25vd3NreS5jb20vMzQxMjMwLmh0bWyAAgGpAoO2k0STgYI-yAKI28ABqAMB6AO0A-gDIugDIOgDBQ&num=1&adurl=http://www.3ctest.cn/Company.asp%3FComID%3D1&client=ca-pub-5186439242807756");GgKwClickStat("昄","www.3ctest.cn","afc","2000037541");' onmouseout='isShowGg = false;InTextAds_GgLayer="_u663E_u793A"'>昄</strong></nobr>。如果字W集不可用,在页面将昄为问h其它W号。一台典型的北美的计机不能在屏幕上显CZ文字W,除非中文的字W集?qing)其字体已经安装?/p> <p>    参考:(x)<br />     JavaScript And Dhtml Cookbook(Oreilly)      ;<br />     JavaScript-The Definitive Guide(4th Edition);<br /> ?http://www.knowsky.com/341230.html</p> </span> <img src ="http://www.aygfsteel.com/keweibo/aggbug/175289.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/keweibo/" target="_blank">Ke</a> 2008-01-14 20:09 <a href="http://www.aygfsteel.com/keweibo/articles/175289.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JavaScript中取得已知结点的父结?/title><link>http://www.aygfsteel.com/keweibo/articles/175281.html</link><dc:creator>Ke</dc:creator><author>Ke</author><pubDate>Mon, 14 Jan 2008 10:55:00 GMT</pubDate><guid>http://www.aygfsteel.com/keweibo/articles/175281.html</guid><wfw:comment>http://www.aygfsteel.com/keweibo/comments/175281.html</wfw:comment><comments>http://www.aygfsteel.com/keweibo/articles/175281.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/keweibo/comments/commentRss/175281.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/keweibo/services/trackbacks/175281.html</trackback:ping><description><![CDATA[<span style="color: #0000ff"><strong> <script type="text/javascript"><br />  function change(event)<br />  {<br />   var curNode ;<br />   if(event == null)<br />   {<br />    curNode = window.event.srcElement ; <br />   }<br />   else<br />   {<br />    curNode = event.target ;<br />   }<br />   var parNode = curNode.parentNode ;<br />   parNode.action = "account/updateCart.action" ;<br />   parNode.submit() ;<br />    <br />  }<br />  <br />  </script></strong></span><br /> <strong><s:iterator value="#items"><br />      <tr><br />       <td><s:property value="bookName"/></td><br />       <td><br />        <s:text name="global.format.money"><s:param value="bookPrice"/></s:text><br />       </td><br />       <td><br />        <form action="" ><br />         <input type="hidden" name="bookId" value="<s:property value="bookId"/>"><br />         <input type="text" name="quantity" size="2" value="<s:property value="quantity"/>" <span style="color: #0000ff">onchange="change();"></span><br />        </form><br />       </td><br />      </tr><br />      </s:iterator></strong> <img src ="http://www.aygfsteel.com/keweibo/aggbug/175281.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/keweibo/" target="_blank">Ke</a> 2008-01-14 18:55 <a href="http://www.aygfsteel.com/keweibo/articles/175281.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>获取表格的行数和列数http://www.aygfsteel.com/keweibo/articles/175017.htmlKeKeSun, 13 Jan 2008 11:41:00 GMThttp://www.aygfsteel.com/keweibo/articles/175017.htmlhttp://www.aygfsteel.com/keweibo/comments/175017.htmlhttp://www.aygfsteel.com/keweibo/articles/175017.html#Feedback1http://www.aygfsteel.com/keweibo/comments/commentRss/175017.htmlhttp://www.aygfsteel.com/keweibo/services/trackbacks/175017.html <head>
<script type="text/javascript">
    function show()
 {
  var tab = document.getElementById("test") ;
      //表格行数
      var rows = tab.rows.length ;
      //表格列数
      var cells = tab.rows.item(0).cells.length ;
  alert("行数"+rows+"列数"+cells);
 }
</script>
</head>
<body>
<table id="test" border="1">
<tr>
    <td>&nbsp;</td><td>nbsp;</td>
</tr>
<tr>
    <td>&nbsp;</td><td>nbsp;</td>
</tr>
</table>
<input type="button" onclick="show();"/>
</body>
</html>

Ke 2008-01-13 19:41 发表评论
]]>
用javascript取得当前面的url路径http://www.aygfsteel.com/keweibo/articles/161402.htmlKeKeSun, 18 Nov 2007 06:58:00 GMThttp://www.aygfsteel.com/keweibo/articles/161402.htmlhttp://www.aygfsteel.com/keweibo/comments/161402.htmlhttp://www.aygfsteel.com/keweibo/articles/161402.html#Feedback0http://www.aygfsteel.com/keweibo/comments/commentRss/161402.htmlhttp://www.aygfsteel.com/keweibo/services/trackbacks/161402.html     function getURL()
  {
   var url = window.location.href;
   alert(url);
  }
 </script>

Ke 2007-11-18 14:58 发表评论
]]>
可编辑表?/title><link>http://www.aygfsteel.com/keweibo/articles/156276.html</link><dc:creator>Ke</dc:creator><author>Ke</author><pubDate>Fri, 26 Oct 2007 14:19:00 GMT</pubDate><guid>http://www.aygfsteel.com/keweibo/articles/156276.html</guid><wfw:comment>http://www.aygfsteel.com/keweibo/comments/156276.html</wfw:comment><comments>http://www.aygfsteel.com/keweibo/articles/156276.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/keweibo/comments/commentRss/156276.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/keweibo/services/trackbacks/156276.html</trackback:ping><description><![CDATA[    只有注册用户d后才能阅读该文?a href='http://www.aygfsteel.com/keweibo/articles/156276.html'>阅读全文</a><img src ="http://www.aygfsteel.com/keweibo/aggbug/156276.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/keweibo/" target="_blank">Ke</a> 2007-10-26 22:19 <a href="http://www.aygfsteel.com/keweibo/articles/156276.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>删除表格的最后一?单元?http://www.aygfsteel.com/keweibo/articles/156270.htmlKeKeFri, 26 Oct 2007 13:57:00 GMThttp://www.aygfsteel.com/keweibo/articles/156270.htmlhttp://www.aygfsteel.com/keweibo/comments/156270.htmlhttp://www.aygfsteel.com/keweibo/articles/156270.html#Feedback0http://www.aygfsteel.com/keweibo/comments/commentRss/156270.htmlhttp://www.aygfsteel.com/keweibo/services/trackbacks/156270.html阅读全文

Ke 2007-10-26 21:57 发表评论
]]>
删除节点http://www.aygfsteel.com/keweibo/articles/156266.htmlKeKeFri, 26 Oct 2007 13:42:00 GMThttp://www.aygfsteel.com/keweibo/articles/156266.htmlhttp://www.aygfsteel.com/keweibo/comments/156266.htmlhttp://www.aygfsteel.com/keweibo/articles/156266.html#Feedback0http://www.aygfsteel.com/keweibo/comments/commentRss/156266.htmlhttp://www.aygfsteel.com/keweibo/services/trackbacks/156266.html阅读全文

Ke 2007-10-26 21:42 发表评论
]]>
动态生成表?/title><link>http://www.aygfsteel.com/keweibo/articles/156257.html</link><dc:creator>Ke</dc:creator><author>Ke</author><pubDate>Fri, 26 Oct 2007 13:28:00 GMT</pubDate><guid>http://www.aygfsteel.com/keweibo/articles/156257.html</guid><wfw:comment>http://www.aygfsteel.com/keweibo/comments/156257.html</wfw:comment><comments>http://www.aygfsteel.com/keweibo/articles/156257.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/keweibo/comments/commentRss/156257.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/keweibo/services/trackbacks/156257.html</trackback:ping><description><![CDATA[    只有注册用户d后才能阅读该文?a href='http://www.aygfsteel.com/keweibo/articles/156257.html'>阅读全文</a><img src ="http://www.aygfsteel.com/keweibo/aggbug/156257.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/keweibo/" target="_blank">Ke</a> 2007-10-26 21:28 <a href="http://www.aygfsteel.com/keweibo/articles/156257.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>document.getelementbyid has no propertieshttp://www.aygfsteel.com/keweibo/articles/156247.htmlKeKeFri, 26 Oct 2007 13:04:00 GMThttp://www.aygfsteel.com/keweibo/articles/156247.htmlhttp://www.aygfsteel.com/keweibo/comments/156247.htmlhttp://www.aygfsteel.com/keweibo/articles/156247.html#Feedback0http://www.aygfsteel.com/keweibo/comments/commentRss/156247.htmlhttp://www.aygfsteel.com/keweibo/services/trackbacks/156247.html阅读全文

Ke 2007-10-26 21:04 发表评论
]]>
修改节点http://www.aygfsteel.com/keweibo/articles/156239.htmlKeKeFri, 26 Oct 2007 12:36:00 GMThttp://www.aygfsteel.com/keweibo/articles/156239.html阅读全文

Ke 2007-10-26 20:36 发表评论
]]>
常用的弹出窗口用?/title><link>http://www.aygfsteel.com/keweibo/articles/141972.html</link><dc:creator>Ke</dc:creator><author>Ke</author><pubDate>Sat, 01 Sep 2007 10:47:00 GMT</pubDate><guid>http://www.aygfsteel.com/keweibo/articles/141972.html</guid><wfw:comment>http://www.aygfsteel.com/keweibo/comments/141972.html</wfw:comment><comments>http://www.aygfsteel.com/keweibo/articles/141972.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/keweibo/comments/commentRss/141972.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/keweibo/services/trackbacks/141972.html</trackback:ping><description><![CDATA[<p>1、最基本的弹出窗口代?/p> <p>以下是引用片D:(x)<br /> <span style="color: #000000"><SCRIPT LANGUAGE="<span style="color: #000000"><a >  </span></span><br /> <!--  <br /> window.open ('page.html')  <br /> -->  <br /> </SCRIPT>  </p> <p>代码攑֜<SCRIPT LANGUAGE="javascript">标签?lt;/script>之间?<br /> <span style="color: #ff00ff"><!-- ?-->是对一些版本低的浏览器起作用?<br /> </span>window.open ('page.html') 用于控制弹出新的H口page.htmlQ如果page.html不与ȝ口在同一路径下,前面应写明\径,l对路径(http://)和相对\?../)均可。用单引号和双引号都可以Q只是不要؜用?<br /> q一D代码可以加入HTML的Q意位|,<head>?lt;/head>之间可以Q?lt;body>?lt;/body>也可以,前早执行Q尤其是面代码长,又想佉K面早点弹出就量往前放?</p> <p><br /> 2、经q设|后的弹出窗?/p> <p>定制q个弹出的窗口的外观Q尺寸大,弹出的位|以适应该页面的具体情况?</p> <p>以下是引用片D:(x)<br /> <SCRIPT LANGUAGE="javascript">  <br /> <!--  <br /> window.open ('page.html', 'newwindow', 'height=100, width=400, top=0,left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no')  <br /> //写成一?nbsp; <br /> -->  <br /> </SCRIPT>  </p> <p>参数解释Q?<br /> 以下是引用片D:(x)<br /> <SCRIPT LANGUAGE="javascript"> js脚本开始;  <br /> window.open 弹出新窗口的命o(h)Q?span style="color: #ff00ff">  <br /> 'page.html' 弹出H口的文件名Q?nbsp; <br /> 'newwindow' 弹出H口的名字(不是文g名)(j)Q非必须Q可用空''代替Q?nbsp; <br /> height=100 H口高度Q?nbsp; <br /> width=400 H口宽度Q?nbsp; <br /> top=0 H口距离屏幕上方的象素|  <br /> left=0 H口距离屏幕左侧的象素|  <br /> toolbar=no 是否昄工具栏,yes为显C;  <br /> menubarQscrollbars 表示菜单栏和滚动栏?nbsp; <br /> resizable=no 是否允许改变H口大小Qyes为允许;  <br /> location=no 是否昄地址栏,yes为允许;  <br /> status=no 是否昄状态栏内的信息Q通常是文件已l打开Q,yes为允许; </span> <br /> </SCRIPT> <br /> js脚本l束 </p> <p><br /> 3、用函数控制弹出H口</p> <p>完整的代码示?</p> <p>以下是引用片D:(x)<br /> <html>  <br /> <head>  <br /> <script LANGUAGE="javascript">  <br /> <!--  <br /> function openwin() { window.open ("page.html", "newwindow", "height=100, width=400, toolbar= no, menubar=no, scrollbars=no, resizable=no, location=no, status=no")  <br /> //写成一?nbsp; <br /> }  <br /> //-->  <br /> </script>  <br /> </head>  <br /> <body onload="openwin()">  <br /> ...L的页面内?..  <br /> </body>  <br /> </html>  </p> <p><br /> q里定义?jin)一个函数openwin(),函数内容是打开一个窗口。在调用它之前没有Q何用途?<br /> 怎么调用呢? <br /> Ҏ(gu)一Q?lt;body onload="openwin()"> 览器读面时弹出窗口; <br /> Ҏ(gu)二:(x)<body onunload="openwin()"> 览器离开面时弹出窗口; <br /> Ҏ(gu)三:(x)用一个连接调用:(x) <br /> <a href="#" onclick="openwin()">打开一个窗?lt;/a> <br /> 注意Q用的“#”是虚q接?<br /> Ҏ(gu)四:(x)用一个按钮调用:(x) <br /> <input type="button" onclick="openwin()" value="打开H口"> </p> <img src ="http://www.aygfsteel.com/keweibo/aggbug/141972.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/keweibo/" target="_blank">Ke</a> 2007-09-01 18:47 <a href="http://www.aygfsteel.com/keweibo/articles/141972.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ѱ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Դ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ϲ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">˹</a>| <a href="http://" target="_blank">Ӧ</a>| <a href="http://" target="_blank">Դ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">â</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">DZ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ʯ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">»Ȱ</a>| <a href="http://" target="_blank">׿</a>| <a href="http://" target="_blank">ٺ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ׯ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ϳ</a>| <a href="http://" target="_blank"></a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>