玄铁剑

成功的途径:抄,创造,研究,发明...
posts - 128, comments - 42, trackbacks - 0, articles - 174

常用Javascript功能

Posted on 2007-06-17 13:04 玄铁剑 阅读(415) 评论(0)  编辑 收藏 引用 所属分类: Javascript
//检查是否是英文字符  
  function   isEnglish(s,msg){  
    var   reg=/^[a-z]*$/gi  
    if(reg.test(s.value))return   true  
    else   {  
      alert((msg?msg:'该栏目只能输入英文字符﹐请改正'));  
      s.focus();  
      s.select();  
      return   false;  
    }  
  }  
   
  //检查是否是中文  
  function   isChinese(s,msg){  
    var   reg   =   /[^\u4E00-\u9FA5]/g;  
    if   (reg.test(s.value)){  
      s.focus();  
      s.select()  
      alert((msg?msg:'该栏只能输入中文﹐请改正!'));  
      return   false;  
    }  
    return   true;  
  }  
   
  //检查是否是非中文  
  function   isNoChinese(s,msg){  
    var   reg   =   /[\u4E00-\u9FA5]|[\uFE30-\uFFA0]/gi;  
    if   (reg.test(s.value)){s.select()  
      alert((msg?msg:'该栏不能输入中文及全角符号﹐请改正!'));  
      return   false;  
    }  
    return   true;  
  }

<scrīpt>
var i = 0;
var j = 0;
function func()
{
var i = 2;//局部变量
j = 2;//全局变量
}
//i = 0;j = 2;
</scrip>

 

字符串截取

.substring( start , end );

取屏幕分辨率
screen.width
screen.height

取屏幕可用宽高(去掉任务栏宽高)
screen.availWidth
screen.availHeight

取客户端屏幕大小
document.body.clientHeight
document.body.clientWidth


网页可见区域宽: document.body.clientWidth
网页可见区域高: document.body.clientHeight
网页可见区域宽: document.body.offsetWidth (包括边线的宽)
网页可见区域高: document.body.offsetHeight (包括边线的高)
网页正文全文宽: document.body.scrollWidth
网页正文全文高: document.body.scrollHeight
网页被卷去的高: document.body.scrollTop
网页被卷去的左: document.body.scrollLeft
网页正文部分上: window.screenTop
网页正文部分左: window.screenLeft
屏幕分辨率的高: window.screen.height
屏幕分辨率的宽: window.screen.width
屏幕可用工作区高度: window.screen.availHeight
屏幕可用工作区宽度: window.screen.availWidth


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 
Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
<html xmlns="http://www.w3.org/1999/xhtml">
加上这段后,document.body.scrollTop永远等于0
body ōnscroll = "alert(document.body.scrollTop);"永远也不会引发。
在asp.net中做浮动窗口时困扰了我好久。
在标准w3c下,document.body.scrollTop恒为0,需要用document.documentElement.scrollTop来代替




循环检测多个Email格式.

/**
*Title:check email pattern Code
*Time:2006-11-24
*Author:colinmok
*/

function chkSendEmail()
{
        //检查是否为空
 if(frmSendEmail.to.value==""){
  alert("请输入1至10个Email!");
  document.frmSendEmail.to.focus();
  return false;
 }
         if(frmSendEmail.name.value==""){
  alert("请输入你的签名!");
  document.frmSendEmail.name.focus();
  return false;
 }

  //功能:正则表达式检测
   var EmailArry = new Array(1000)  //定义数组用来接收分割后的邮件
   var Email=frmSendEmail.to.value  //取得用户输入的值
   var Email=Email.trim();          //调用下面去两边空格的函数
   var Email=Email.AllTrim(Email);  //调用去除中间空格的函数
   var EmailArry=Email.split(";");  //分割用户输入的Email

  // document.write("去空格后:"+Email+"<br>");
          //正则表达式检测Email格式
  var pattern=/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/; 


 //循环检测每个email
  for(var i=0;i<EmailArry.length;i++)
  {
      //document.write("EmailArry["+i+"]:"+EmailArry[i]+"<br>");
             flag=pattern.test(EmailArry[i]);
             if(!flag)
             {
              alert("第"+parseInt(i+1)+"个Email格式不对!!"+EmailArry[i]);
                  document.frmSendEmail.to.focus();
              return false;
              }
           }

   return true;
}
//构造去掉空格函数
String.prototype.trim=function()
{
// 用正则表达式将前后空格
// 用空字符串替代。
return this.replace(/(^\s*)|(\s*$)/g, "");
}
// 除去空格函数
String.prototype.AllTrim= function()
{
    var regEx = /\s*/g;
    return this.replace(regEx,'');             
}





[OPTION操作]

适应firefox/ie/opera的取option代码(jQuery)

点击后取option

        $( "form select#registerYear" ).change( function() {
            var iYear;
            if( $.browser.mozilla ) {
                 iYear = this.options[this.selectedIndex].value;
            } else {
                 iYear = this.options[this.selectedIndex].innerText;
            }
            alert( iYear );
        } );


取option另一种方法:

        $( "form select#registerMonth" ).change( function() {
            var selectYear = "";
            //if ( $.browser.mozilla ) {
                //selectYear = $( "form select#registerYear" ).val();
            //} else {
               // selectYear = $( "form select#registerYear :selected" ).html();
            //}
            selectYear = $( "form select#registerYear :selected" ).html();
           
            alert( selectYear );
        } );



1 检测是否有选中
if(objSelect.selectedIndex > -1{
//说明选中
}
 else {
//说明没有选中
}


2 删除被选中的项 
objSelect.options[objSelect.selectedIndex] = null;

3 增加项
objSelect.options[objSelect.length] = new Option("你好","hello");
4 修改所选择中的项
bjSelect.options[objSelect.selectedIndex] = new Option("你好","hello");

5 得到所选择项的文本
objSelect.options[objSelect.selectedIndex].text;
6 得到所选择项的值
objSelect.options[objSelect.selectedIndex].value;




根据年份和月份取天

    function getMonthOption( iYear , iMonth ) {
        if ( iYear == "" || iMonth == "" ) {
            return "";
        }
        var sHtml = "";
        var iDay = 30;
        switch ( iMonth ) {
            case "1":
            case "3":
            case "5":
            case "7":
            case "8":
            case "10":
            case "11":
            iDay = 31;
            break;
            case "4":
            case "6":
            case "9":
            case "11":
            iDay = 30;
            break;
            case "2":
            iDay = ( iYear%4 == "" ) ? 29 : 28;
            break;
        }
       
        for ( var i = 1 ; i <= iDay ; i++ ) {
            if ( i == 1 ) {
                sHtml += '<option selected>'+i+"</option>\r\n";
            } else {   
                sHtml += "<option>"+i+"</option>\r\n";
            }
        }
       
        //2月为28天
       
        return sHtml;
    }




<scrīpt>


function car( a , b , c ) {
    this.a = a;
    this.b = b;
    this.c = c;
}

car.prototype.getA = function( v ) {
    alert( v );
}


</scrīpt>

只有注册用户登录后才能发表评论。