博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
实用的JS代码段(表单篇)
阅读量:6169 次
发布时间:2019-06-21

本文共 1817 字,大约阅读时间需要 6 分钟。

整理了下比较实用的Javascript代码段,

1 多个window.onload方法

  由于onload方法时在页面加载完成后,自动调用的。因此被广泛的使用,但是弊端是只能实用onload执行一个方法。下面代码段,可以保证多个方法在Onload时执行:

function addLoadEvent(func){        var oldonload = window.onload;        if(typeof window.onload != 'function'){            window.onload = func;        }else{            window.onload = function(){                oldonload();                func();            }        }    }

2 正则表达式去空格

str.replace(/^(\s|\u00A0)+|(\s|\u00A0)+$/g,"");

3 利用正则过滤中文

str.replace(/[\u4e00-\u9fa5]/g,"");

4 禁止用户的拷贝和复制

xxx.oncopy = function(){    return false;}xxx.onpaste = function(){    return false;}

5 限制字符串长度(区分中英文)

  主要思想:

  需要3个数据:1 限制输入的长度;2 已经输入了多长; 3 截取多少个字符;

  由于JS里面的截取方法不区分中英文 ,因此

  “哈哈哈”.substr(0,2) ----> 哈哈

  “haha”.substr(0,2) ---> ha

  但是,如果按照编码一个汉字应该对应2个字符,一个字母对应一个字符。

  因此统计 真实长度 时,应该是 字符的长度 汉字的个数 

  例如我们限制输入5个字符:那么输入“哈哈”后,就只能输入一个h,不能再输入汉字了。代码参考如下,可以运行一下推敲推敲。 

  全部代码

    

(支持中英文区分)限制字符串长度


6 添加CSS函数

var setCSS = function(_this,cssOption){    if(!_this || _this.nodeType === 3 || _this.nodeType === 8 || !_this.style){        return;    }    for(var cs in cssOption){        _this.style[cs] = cssOption[cs];    }    return _this;};

  使用时

setCSS(xxx,{    "position":"relative",    "top":"0px"});

7 自适应文本框

  采用scrollHeight复制给style.height

xxx.style.overflowY = "hidden";xxx.onkeyup = function(){    xxx.style.height = xxx.scrollHeight+"px";};

8 复选框全选、取消和反选

//下面html代码//下面是js代码var targets = document.getElementsByName("actionSelects");var targetsLen = targets.length;var i = 0;document.getElementById("allSelect").onclick = function(){    for(i=0;i

参考

【1】《超实用的JavaScript代码段》

本文转自博客园xingoo的博客,原文链接:,如需转载请自行联系原博主。
你可能感兴趣的文章
博主制作的开源JAVA WEB游戏-《天命.罗生门》
查看>>
Windows软链脚本
查看>>
IOS开发之异步加载网络图片并缓存本地实现瀑布流(二)
查看>>
足球赛事球员信息api
查看>>
那些年我们经历过的运维
查看>>
安装带有调试信息的C库
查看>>
迷宫的基本实现
查看>>
Ajax跨域请求问题
查看>>
topic4:Qt入门之常用qt控件认知之Button系列
查看>>
jstack:Java堆栈跟踪工具
查看>>
源码安装 python3
查看>>
获取当前fragment
查看>>
linux centeros 7.4 修改主机名
查看>>
关于程序员,你知道的有多少?
查看>>
Tomcat问题汇总
查看>>
由于未预料的错误,现在无法使用nautilus
查看>>
业界最有价值的Linux资料大全(200篇)
查看>>
Arraylist动态扩容详解
查看>>
%cd%及%~dp0批处理命令的详解
查看>>
MySQL数据库负载很高连接数很多怎么处理
查看>>