js值得收藏

按下回车键指向下一个位置的一个函数

function tofocus(itemname)    //按回车置下一个位置
        {
            var a
            a=eval("document.vouch."+itemname)
            a.focus()
        }


在控件中使用onkeypress="javascrip:if(window.event.keyCode==13){tofocus('nextformname')}提取下一个控件名
改进的email检查js脚本

function isEmail(str)
{
// are regular expressions supported?
var supported = 0;
if (window.RegExp) {
var tempStr = "a";
var tempReg = new RegExp(tempStr);
if (tempReg.test(tempStr)) supported = 1;
}
if (!supported)
return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
var r2 = new RegExp("^.+\\@(\\[?)][a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
return (!r1.test(str) && r2.test(str));
}
判断输入是否为中文的函数

function ischinese(s){
var ret=true;
for(var i=0;i<s.length;i++)
ret=ret && (s.charCodeAt(i)>=10000);
return ret;
}
综合的判断用户输入的合法性的函数

<script language="javascript">
//限制输入字符的位数开始
//m是用户输入,n是要限制的位数
function issmall(m,n)
{
if ((m<n) && (m>0))
  {
  return(false);
  }
else
{return(true);}
}

//限制输入字符的位数结束

//判断密码是否输入一致开始
function issame(str1,str2)
{
if (str1==str2)
{return(true);}
else
{return(false);}
}
//判断密码是否输入一致结束

//判断是否为空开始
function isnotnull(str)
{
if (str.length=="")
  {
  return(false);
  }
else
{
  return(true);
}
}

//判断是否为空结束


//判断用户名是否为数字字母下滑线开始
function notchinese(str){
var reg=/[^A-Za-z0-9_]/g
    if (reg.test(str)){
    return (false);
    }else{
return(true);    }
}

//判断用户名是否为数字字母下滑线结束

//判断是否为日期型开始
function isDate (theStr) {
    var the1st = theStr.indexOf('-');
    var the2nd = theStr.lastIndexOf('-');
   
    if (the1st == the2nd) { return(false); }
    else {
        var y = theStr.substring(0,the1st);
        var m = theStr.substring(the1st+1,the2nd);
        var d = theStr.substring(the2nd+1,theStr.length);
        var maxDays = 31;
        
        if (fucCheckNUM(m)==false || fucCheckNUM(d)==false || fucCheckNUM(y)==false) {
            return(false); }
        else if (y.length < 4) { return(false); }
        else if ((m<1) || (m>12)) { return(false); }
        else if (m==4 || m==6 || m==9 || m==11) maxDays = 30;
        else if (m==2) {
            if (y % 4 > 0) maxDays = 28;
            else if (y % 100 == 0 && y % 400 > 0) maxDays = 28;
               else maxDays = 29;
        }
        if  ((m<1) || (m>maxDays)) { return(false); }
        else { return(true); }
    }
}

function fucCheckNUM(NUM)
{
    var i,j,strTemp;
    strTemp="0123456789";
    if ( NUM.length== 0)
        return 0
    for (i=0;i<NUM.length;i++)
    {
        j=strTemp.indexOf(NUM.charAt(i));    
        if (j==-1)
        {
        //说明有字符不是数字
            return 0;
        }
    }
    //说明是数字
    return 1;
}

//判断是否为日期型结束


//判断是否为固定的位数开始
function isatn(m,n)
{
if (m!=n)
  {
  return(false);
  }
else
{
return(true);}
}
//判断是否为固定的位数结束

//判断是否为电话号码开始
function istel(telstr)
{
   var reg=/[^0-9-]/g;
   if (telstr!="") {
   if (reg.test(telstr)){
   return(false);
   }
   else
   {
   return(true);
   }
   }
   }
//判断是否为电话号码结束

//判断是否为email开始
function isemail(emailstr) {
        if ((emailstr.indexOf('@', 0) == -1) || emailstr.indexOf('.') == -1)
                {
            return false
        }
        else {
            return true
        }
    }
//判断是否为email结束

//中文输入判断开始
function ischinese(str){
var reg=/[^A-Za-z0-9_]/g
    if (reg.test(str)){
    return (true);
    }else{
return(false);    }
}
//中文输入判断结束
</script>
用javascirpt在<TEXTAREA>中插入元素(光标位置)

<HTML>
<HEAD>    
<SCRIPT>    
function storeCaret (textEl) {
if (textEl.createTextRange)
textEl.caretPos = document.selection.createRange().duplicate();    
}
function insertAtCaret (textEl, text) {
if (textEl.createTextRange && textEl.caretPos) {
var caretPos = textEl.caretPos;
caretPos.text =caretPos.text.charAt(caretPos.text.length - 1) == ' ' ?text + ' ' : text;     
}     
else       
textEl.value  = text;
   
}    
</SCRIPT>    
</HEAD>    
<BODY>    
<FORM NAME="aForm">
<TEXTAREA NAME="aTextArea" ROWS="5" COLS="80" WRAP="soft"  ONSELECT="storeCaret(this);" ONCLICK="storeCaret(this);" ONKEYUP="storeCaret(this);">  这是例子,你可以在这里添加文字、插入文字。 </TEXTAREA>    

 
<INPUT TYPE="text" NAME="aText" SIZE="80" VALUE="我要在光标处插入这些文字">
<INPUT TYPE="button" VALUE="我要在光标处插入上面文本框里输入的文字!"  ONCLICK="insertAtCaret(this.form.aTextArea, this.form.aText.value);">
</FORM>
</BODY>
</HTML>

列表框操作函数集合

/* 列表框互相操作函数集 */

//描述: 添加不重复列表框元素
function selAdd( srcList, dstList )
{
    var selectedIndex = new Array();
    var count = 0;

    for ( i=0; i<srcList.options.length; i++ ){

        if ( srcList.options.selected ){
           
            selectedIndex[count] = i;
            count ++;

        }
    }                   

    for ( j=0; j<selectedIndex.length; j++ ){
        
        k = selectedIndex[j];

        if ( chkDup( srcList.options[k].value, dstList )==false ){
            dstList.options.length++;
            var len = dstList.options.length-1;
            dstList.options[len].value = srcList.options[k].value;
            dstList.options[len].text = srcList.options[k].text;
        }

    }

}

//描述: 删除列表框元素
function selDel( list )
{
    var len = list.options.length;
    var idx = 0;

    while ( idx< len ){

        if ( list.options[idx].selected ){
            list.options.remove(idx);
            len = list.options.length;
        }
        else{
            idx ++;
        }
    }
}

//描述: 检测列表框元素重复
function chkDup( item, list )
{
    for ( i=0; i<list.options.length; i++ ){
        //alert( item + " - " + list.options.value );
        if ( item == list.options.value ){
            return true;
        }
    }                   
    return false;
}

//描述: 选择列表框的全部成员
function selSel( list, item )
{
    item.value = " ";
    for ( i=0; i<list.options.length; i++ ){
        list.options.selected=true;
        item.value += list.options.value + " ";
    }

}

function selSelSingle( list, value )
{
    for ( i=0; i<list.options.length; i++ ){
        if ( list.options.value == value ){
            list.options.selected=true;
            break;
        }
    }

}
//描述: 根据数组初始化列表框
function selList( item, arr )
{

    var curIndex, insIndex, val, text;
    var arrItem = new Array();

    if ( item ){

        item.length = 0;
        curIndex = 0;

        for ( i=0; i<arr.length; i++ ){

            item.length ++;
            insIndex = item.length - 1;
           
            if ( arr ){
                arrItem = arr.split( ", " );
                text = arrItem[1];
                val  = arrItem[0];
                item.options[ insIndex ].text = text;    
                item.options[ insIndex ].value= val;
            }
        }

    }
}
带进度条的关闭窗口

<% Function myloading(a)%>
<form name="loading">
      <div align="center"><center><p><input
      style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bolder; PADDING-BOTTOM: 0px; COLOR: red; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; FONT-FAMILY: Arial; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: yellow; BORDER-BOTTOM-STYLE: none"
      size="46" name="chart">
      <input
      style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; COLOR: rgb(138,134,134); BORDER-BOTTOM: medium none; TEXT-ALIGN: center"
      size="46" name="percent">

<script>  
var bar = 0  
var line = "||"  
var amount ="||"  
count()  
function count()
        {  
    bar= bar+2  
    amount =amount  +  line  
    document.loading.chart.value=amount  
    document.loading.percent.value=bar+"%"  
        if (bar<99)  
            {setTimeout("count()",100);}  
        else  
<%if a="closeit" then%>
            {    setTimeout("closeme();",10);  }  
<%else%>
            {    setTimeout("window.go(-1);",10);  }  
<%end if%>
        }
function closeme(){
        self.focus();
        self.close();
        return false;
    }
</script>
</p>
      </center></div>
</form>
<% End Function %>
posted @ 2008-06-21 23:35  roboth  阅读(562)  评论(5)    收藏  举报