⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 v2.4.js

📁 js封装类 项目中常用js封装 希望对大家有帮助
💻 JS
📖 第 1 页 / 共 5 页
字号:
}

/**************
实现Ctrl+Enter 提交的效果.(兼容IE和FF)
在做这个效果时,发现一个问题,
当表单中如果只有一个文本框时,
回车会默认提交。(没有提交按钮也一样。)
用法:
<form action="#"  name="a">
<input   type="text" />   
<input   type="text"   onkeydown="QuickPost( event , document.a )" />   
</form>
**************/
 function QuickPost(event,form){
    var event=event||window.event;
	if((event.ctrlKey && event.keyCode == 13)||(event.altKey && event.keyCode == 83)){
 	//	event.srcElement.form.submit();
	  form.submit();
	}
}


/**************
回车自动跳到下一个文本框。
注;此方法不兼容FF,
因为在FF下,event.keycode是只读属性,不能赋值。
用法:
<form action="#"  name="a" onkeydown="QuickNext()">
<input   type="text" />   
<input   type="text"   />   
<input   type="button" value="test"  />  
</form>
**************/
function   QuickNext()   
  {  
  //判断是否为button, 是因为在HTML上会有type="button"
  //判断是否为submit,是因为HTML上会有type="submit"
  //判断是否为reset,是因为HTML上的"重置"应该要被执行
  //判断是否为空,是因为对于HTML上的"<a>链接"也应该被执行,
  //这种情况发生的情况不多,可以使用"tabindex=-1"的方式来取消链接获得焦点.
      if(event.keyCode==13 && event.srcElement.type!='button' && event.srcElement.type!='submit' && event.srcElement.type!='reset' && event.srcElement.type!='textarea' && event.srcElement.type!='') 
           {   event.keyCode = 9; }
  }   


/**************
按TAB键移动到下一个输入框时,光标停在文本框文字的最后,方便用户继续输入.
IE默认是全部选中。此方法不兼容FF。
用法:
 <input type='text' value='0592' onfocus="moveEnd()"> 
**************/
function moveEnd()
{
	var e=event.srcElement;
	var r=e.createTextRange();
	r.moveStart('character',e.value.length);
	r.collapse(true);
	r.select();
}



/**************
TEXTAREA自适应文字的行数 .
注;此方法不兼容FF,(onpropertychange)
参数:当前对象 和 最小高度
用法:
<textarea rows=5 name=s1 cols=27 onpropertychange="textarea_scroll(this,60)" style="overflow-y:hidden">
</textarea>
**************/
	function textarea_scroll(obj,min)
	{
		if(obj.scrollHeight<min){
          obj.style.posHeight=min
		}else{
          obj.style.posHeight=obj.scrollHeight
		}
	}


/**************
改变下拉框选项后,根据选项的不同弹出不同的窗口.
用法:
<select onchange="return select_pop(this);" >
<option  selected="selected">--分公司--</option>
<option value="http://www.bj.chinaunicom.com">北京</option>
<option value="http://www.sh.chinaunicom.com">上海</option>
</select> 
**************/
function select_pop(fileurl){
    if (fileurl.options[fileurl.selectedIndex].value != "")
		window.open(fileurl.options[fileurl.selectedIndex].value,"_blank","toolbar=yes,location=yes,menubar=yes,scrollbars=yes,resizable=yes,left=50,height=500,width=700");
	return true;
}



/**************
得到字符串的字节数。
用法:
<input   type="text" name="a" />   
<input   type="button" value="test"  onclick="alert(  strlen(document.getElementById('a').value )  )" />  
**************/
//
function strlen(string){
      var str="";
      str=string;
      str=str.replace(/[^\x00-\xff]/g,"**"); 
      return str.length;
 }
//或者
function ByteLength(string){
	return string.replace(/[^\x00-\xff]/g,"00").length;	
}


/**************
文本框输入字符控制。
只能输入数字。
用法:
<input onkeyup="input_shuzi(this)" onbeforepaste="input_shuzi_before()" />
**************/
function input_shuzi(obj)
{
obj.value=obj.value.replace(/[^\d]/g,'');
}
function input_shuzi_before(){
clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''));
}

/**************
文本框输入字符控制。
只能输入数字和英文。
用法:
<input onkeyup="input_shuziyinwen(this)" onbeforepaste="input_shuziyinwen_before()" />
**************/
function input_shuziyinwen(obj)
{
obj.value=obj.value.replace(/[\W]/g,'');
}
function input_shuziyinwen_before(){
clipboardData.setData('text',clipboardData.getData('text').replace(/[\W]/g,''));
}

/**************
文本框输入字符控制。
只能输入汉字。
用法:
<input onkeyup="input_hanzi(this)" onbeforepaste="input_hanzi_before()" />
**************/
function input_hanzi(obj)
{
obj.value=obj.value.replace(/[^\u4E00-\u9FA5]/g,'');
}
function input_hanzi_before(){
clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''));
}

/**************
文本框输入字符控制。
只能输入全角。
用法:
<input onkeyup="input_quanjiao(this)" onbeforepaste="input_quanjiao_before()" />
**************/
function input_quanjiao(obj)
{
obj.value=obj.value.replace(/[^\uFF00-\uFFFF]/g,'');
}
function input_quanjiao_before(){
clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''));
}


/**************
*只允许输入数字和小数点。
*用法:
*<input type=text  onkeyup="clearNoNum(this)"/>
**************/
function clearNoNum(obj)
{
//先把非数字的都替换掉,除了数字和.
obj.value = obj.value.replace(/[^\d.]/g,"");
//必须保证第一个为数字而不是.
obj.value = obj.value.replace(/^\./g,"");
//保证只有出现一个.而没有多个.
obj.value = obj.value.replace(/\.{2,}/g,".");
//保证.只出现一次,而不能出现两次以上
obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
}

/**************
*把输入的字母转成大写。
*用法:
*<input type="text"  name="d" onkeyup="input_to_uppercase(this)" />
**************/
function input_to_uppercase(obj)
{
obj.value=obj.value.toUpperCase();
}
/**************
*把输入的字母转成小写。
*用法:
*<input type="text"  name="e" onkeyup="input_to_lowercase(this)" /> 
**************/
function input_to_lowercase(obj)
{
obj.value=obj.value.toLowerCase();
}


/**************
*判断字符中是否包含有 http:// .
*用法:
<input type="text" name="a" />
<input type="button" value="test" onclick=" alert( urlcheck(document.getElementById('a').value) )" />
**************/
function urlcheck(string){
	var re;
	re=new RegExp("http://");
	return re.test(string.toLowerCase());	
}


/**************
从URL地址中提取文件名
*用法:
var a =url_filename("http://www.cssrain.cn/abc.rar");
alert( a  ) ;// "abc"
**************/
function url_filename(string){
string=string.replace(/(.*\/){0,}([^\.]+).*/ig,"$2")
return string
}

/**************
*实时检测输入框的字数
*用法:
 <input type="text" name="explain" id="explain" onkeyup="check_input_Length(this)" >
 <small>文字最大长度: 20. 还剩: <span id="chLeft">20</span>.</small>
**************/
	function check_input_Length(which)
{
	var maxChars = 20;
	if (which.value.length > maxChars)
		which.value = which.value.substring(0,maxChars);
		var curr = maxChars - which.value.length;
		document.getElementById("chLeft").innerHTML = curr.toString();
}


/**************
*判断电子邮箱是否符合规范
*用法:
<input type="text" name="a" />
<input type="button" value="test" onclick=" alert( emailcheck(document.getElementById('a').value) )" />
**************/
function emailcheck(string){
	var re;
	re=new RegExp("^[\\w-_\\.]+@([a-z|0-9|-]+\\.)+[a-z]{2,5}$");
	return re.test(string.toLowerCase());
}


/**************
*判断用户名是否符合要求
*用法:
<input type="text" value="aaa" id="a" />
<input type="button" value="test" onclick=" alert( usernamecheck(document.getElementById('a').value )  ) " />
**************/
function usernamecheck(string){
	if((string.length<4)||(string.length>20)){return false;}
	var re;
	re=new RegExp("^[a-z|A-Z|0-9][a-z|A-Z|0-9|-]+$");
	return re.test(string);
}


/***************
* 用于检验手机号的位数以及检验此手机中是否为中国移动的手机号
* 如果还想判断联通的手机,可以改 GSMPhNo  。
用法 :
<form name="toptransfer">
<input type="text" name="phone" />
<input type="button" value="test" onclick="checkFetionReg()"/>
</form>
**************/
function checkMBPhone(phone){
	var GSMPhNo = /^(13[4-9])|(159)|(158)|(150)|(151)/; //以134(5、6、7、8、9)或159,158,151,150开头;
	var num11 = /^\d{11}$/; //11位数字;
	if( "" != phone ){
	  if(num11.exec(phone)){
	    if(GSMPhNo.exec(phone)){
	      return true;
	    }else{
	      alert("对不起,请您正确输入中国移动GSM手机号码(以134-139、159、158、151或150开头)!");
	      return false;
	    }
	  }else{
	    alert("请正确输入11位手机号码(数字)!");
	    return false;
	  }
	}else{
	  alert("对不起,请输入您的手机号码!");
	  return false;
	}
} 
  function checkFetionReg(){ //例子
   if(checkMBPhone(document.toptransfer.phone.value))
   {
            alert("正确");
			//do your things
   }
 }




//验证日期 yyyy/mm/dd  或  yyyy.mm.dd
//用法:
//<input id="txtdata" /> <input type="button" onclick="dateCheck()" value="test"/>
function dateCheck()
    {
    var str = document.getElementById("txtdata").value;//我这里写死了,如果需要可以自己抽象化。
    var re = new RegExp("^([0-9]{4})[./]{1}([0-9]{1,2})[./]{1}([0-9]{1,2})$");
    
    var ar;
    var res = true;
    
    if ((ar = re.exec(str)) != null){
        var i;
        i = parseFloat(ar[3]);
        if (i <= 0 || i > 31){
            res = false;
        }
        i = parseFloat(ar[2]);
        if (i <= 0 || i > 12){
            res = false;
        }
    }else{
        res = false;
    }
    if (!res){
        alert('情输入类似格式 : 2000/11/25');
    }
    else{
     alert("success");
    }
    return res;
}


//检查输入的值,小数点后的位数
//用法:  checknumber(   '22.22'   ,   1  , "金额" );
function checknumber(value,num,str){
  if(value!=""){
       if(value.indexOf(".")>0){
            var temp=value.length-(value.indexOf(".")+1);
            if(temp>num){
                 alert(str+"的小数点后只能有"+num+"位!");
                 return true;
            }
       }
  }
  return false;
}




/***************
获取域名.
**************/
function getDomainName(){
  var s,siteUrl;
  s=document.location+"";
  return s.substring(7,s.indexOf('/',7));
}

/***************
判断cookie是否开启
返回 boolean类型
**************/
function open_cookie(){
	 //判断cookie是否开启
    var cookieEnabled=(navigator.cookieEnabled)? true : false;
   //如果浏览器不是ie4+或ns6+
    if (typeof navigator.cookieEnabled=="undefined" && !cookieEnabled){
        document.cookie="testcookie";
        cookieEnabled=(document.cookie=="testcookie")? true : falsedocument.cookie="";
    }
	
    if(cookieEnabled){
        return true;
    }else{
        return false;
    }
}

/***************
* 写入COOKIE
用法 :
setcookie:<input type="button" value="test" onclick=" setCookie('a','cssrain');alert('设置成功.') " />
getcookie:<input type="button" value="test" onclick=" alert( getCookie('a') ) " />
**************/
function setCookie(name, value){
	//document.cookie = name+"="+value
	date = new Date();
    document.cookie = name +"=" + escape(value) + ";expires=" + new Date(date.getYear()+1, date.getMonth(),date.getDate()).toGMTString() + ";path=/";
}
/***************
* 简单的读取Cookie
**************/
function getCookie(Name){ 
	var re=new RegExp(Name+"=[^;]+", "i");
	if (document.cookie.match(re)){
		return document.cookie.match(re)[0].split("=")[1];
	}else{
		return "";
	}		
}
/*
读取Cookie写法2:
function getCookie(name){
var aCookie = document.cookie.split(";");
for(var i=0; i<aCookie.length; i++)
{
	var aC = aCookie[i].split("=");
	var nTemp = aC[0].replace(' ','');
	if(name == nTemp)
	{
		return unescape(aC[1]);
	}
}
	return "";
}
*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -