📄 v2.4.js
字号:
}
/**************
实现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 + -