超实用js代码段一
1: 过滤首尾空格trim、2:过滤左边空格ltrim 3:过滤右边空格
一:用正则方法写成三个函数.
<script type="text/javascript">
function trim(str){ //删除左右两端的空格
return str.replace(/(^\s*)|(\s*$)/g, "");
}
function ltrim(str){ //删除左边的空格
return str.replace(/(^\s*)/g,"");
}
function rtrim(str){ //删除右边的空格
return str.replace(/(\s*$)/g,"");
}
</script>
二:获取鼠标在页面上的位置, 获取元素的绝对left和绝对right
var
_mousepos = {//鼠标在页面上的位置
"top":0,
"left":0
}, getMousePoint = function (_e) {
var _body = document.body,
_left = 0,
_top = 0
;
//浏览器支持 pageYOffset, 那么可以使用pageXOffset 和 pageYOffset 获取页面和视窗之间的距离
if(typeof window.pageYOffset != 'undefined') {
_left = window.pageXOffset;
_top = window.pageYOffset;
}
//如果浏览器指定了DOCTYPE并且支持compatMode
else if(typeof document.compatMode != 'undefined' && document.compatMode != 'BackCompat') {
_left = document.documentElement.scrollLeft;
_top = document.documentElement.scrollTop;
}
else if(typeof _body != 'undefined') {//其他的如果浏览器支持document.body
_left = _body.scrollLeft;
_top = _body.scrollTop;
} _left += _e.clientX;
_top += _e.clientY;
_mousepos.left = _left;
_mousepos.top = _top; return _mousepos;
}, getAbsoluteLeft = function (_e){//获取元素的绝对left
var _left = _e.offsetLeft,
_current = _e.offsetParent;
while (_current !== null){
_left += _current.offsetLeft;
_current = _current.offsetParent;
}
return _left;
}, getAbsoluteTop = function (_e){//获取元素的绝对top
var _top = _e.offsetTop,
_current = _e.offsetParent;
while (_current !== null){
_top += _current.offsetTop;
_current = _current.offsetParent;
}
return _top;
},
3.获取日期的指定部分
/*获取日期的指定部分*/
var d =new Date(); //获取日期对象
console.log(d.getFullYear() + "年");//获取年
console.log((d.getMonth() + 1) + "月");//获取月函数默认是0~11 所以要+1
console.log(d.getDate() + "日");//获取日
console.log(d.getHours() + "时");//获取时
console.log(d.getMinutes() + "分");//获取分
console.log(d.getSeconds() + "秒");//获取秒
4.显示当前日期
//获取当前时间
function getNowTime(){
var date =new Date();//获取日期对象 /*获取年、月、日、时、分、秒,本地系统的时间*/
return date.getFullYear() + "年"
+ (date.getMonth() + 1) + "月"
+ date.getDate() + "日"
+ " "
+ date.getHours() + "时"
+ date.getMinutes() + "分"
+ date.getSeconds() + "秒";
}
//显示当前时间
document.getElementById("nowTime").innerHTML = "时间:" + getNowTime();
5.日期格式化成字符串
<body>
<h2>日期格式化成字符串</h2>
<p id='formatTime1'>格式化日期1:</p>
<p id='formatTime2'>格式化日期2:</p>
<p id='formatTime3'>格式化日期3:</p>
<script type="text/javascript">
window.onload = function(){
//日期格式化成字符串
function dateFormat(){
Date.prototype.format = function(f){
var date = {//获取对象中的日期
"Y" : this.getFullYear(),//获取年
"M" : (this.getMonth() + 1),//获取月
"D" : this.getDate(),//获取日
"h" : this.getHours(),//获取小时
"m" : this.getMinutes(),//获取分钟
"s" : this.getSeconds()//获取秒
},
d = "",//初始化接受日期变量的对象
r = false,//判断是否存在待替换的字符
reg = null,//正则
_d = "";//日期
; for(d in date){//过滤日期标示符
reg = new RegExp("[" + d + "]{1,}", "g");//判断是否有待格式化的字符
r = reg.test(f); if(r)//验证是否存在
{
_d = date[d];//被替换的日期
f = f.replace(reg, _d < 10 ? ("0" + _d) : _d);
}
} return f;
}
} var d =new Date();//获取日期对象 /*待格式化的日期为当前日期,
字符格式替换规则:“Y”被替换为年,“M”替换为,“D”替换为日期,“h”替换为小时,“m”替换为分钟,“s”替换为秒
* */
dateFormat();
document.getElementById("formatTime1").innerHTML = "格式化日期1:" + d.format("YYYY-MM-DD h:m:s");
document.getElementById("formatTime2").innerHTML = "格式化日期2:" + d.format("YYYY/MM/DD h-m-s");
document.getElementById("formatTime3").innerHTML = "格式化日期3:" + d.format("Y:M:D h:m:s");
};
</script>
</body>
超实用js代码段一的更多相关文章
- 超实用 JS 代码段笔记(一)
序1:30段简单代码段(有删减) 1 . 区分 IE 和 非 IE 浏览器 if(!+[1,]){ console.log('ie浏览器'); }else{ console.log('非ie浏览器') ...
- 我们为什么要看《超实用的Node.JS代码段》
不知道自己Node.JS水平如何?看这张图 如果一半以上的你都不会,必须看这本书,一线工程师用代码和功能页面来告诉你每一个技巧点. 都会一点,但不知道如何检验自己,看看本书提供的面试题: 1. ...
- 《超实用的Node.js代码段》连载三:Node.js深受欢迎的六大原因
<超实用的Node.js代码段>连载一:获取Buffer对象字节长度 <超实用的Node.js代码段>连载二:正确拼接Buffer Node.js是一种后起的优秀服务器编程语言 ...
- 实用的JS代码段(表单篇)
整理了下比较实用的Javascript代码段,完整的代码参考 1 多个window.onload方法 由于onload方法时在页面加载完成后,自动调用的.因此被广泛的使用,但是弊端是只能实用onloa ...
- 《超实用的Node.js代码段》连载二:正确拼接Buffer
对于初学Node.js框架的开发人员来说,可能认为Buffer模块比较易学.重要性也不是那么突出.其实,Buffer模块在文件I/O和网络I/O中应用非常广泛,其处理二进制的性能比普通字符串性能要高出 ...
- 《超实用的Node.js代码段》连载一:获取Buffer对象字节长度
我们知道Node.js框架下的Buffer对象能够对二进制数据提供很好的支持,那么获取一个Buffer对象真实的字节长度则是必须要用到的功能了.Node.js框架为开发人员提供了一个Buffer.by ...
- JS代码段:返回yyyy-mm-dd hh:mm:ss
最近做项目的时候正好用到,本着能抄就抄的心态去百度搜索现成的代码, 没想到抄下来的好几个都是错的,要么getMonth没有加1,要么10以下的数字前面没有加0, 我真是日了狗了,这次把写好的正确的直接 ...
- 验证表单的js代码段
JS常用功能 转载自:http://blog.csdn.net/kalision/article/details/12516103 引用js文件: <script src="js/d ...
- 实际项目中积累的一些关于事件的简单应用JS代码段(能力有限,不喜轻喷,23333)
1:鼠标移入移出显示另一张图片 var yuanquan_1 = document.getElementById("yuanquan_1" ); yuanquan_1. onmo ...
随机推荐
- ServletContext的用途
安装在一个服务器中的一个特定URL名字空间(比如,/myapplication)下的所有Servlet,JSP,JavaBean等Web部件的集合构成了一个Web的应用,每一个Web应用(同一JVM) ...
- shiro错误No SecurityManager accessible to the calling code
Shire在Web.xml中shiroFilter的Mapping配置错误 org.apache.shiro.UnavailableSecurityManagerException: No Secur ...
- php生成txt文件换行问题
用双引号即"\r\n"换行,不能用单引号即'\r\n'.
- linux服务器修改ssh默认22端口方法
1.登录服务器,打开sshd_config文件 # vim /etc/ssh/sshd_config 2.找到#Port 22,默认是注释掉的,先把前面的#号去掉,再插入一行设置成你想要的端口号,注意 ...
- AJAX局部更新演出排期
<script language="javascript" type="text/javascript"> function createXMLHt ...
- C#中的interface、virtual和abstract
一.Abstract: abstract方法必须在abstarct类中声明,没有默认实现,子类必须实现. 二.Virtual: virtual方法可以声明在abstract类中,也可以声明在非abst ...
- 在Windows 上安装SQL Server的一些注意事项
基本来说安装SQL Server 单节点数据库并不是很困难的事情,大多可以通过Next来安装完成.其中要注意以下几点 安装.net3.5 可以参考本Blog的一些安装须知. Windows Serve ...
- Excel REPT函数使用
需要制作1K大小的数据 使用Excel REPT函数可以迅速制造 Excel REPT 函数 =REPT(1,1024) 结果直接黏贴进txt文件,注意删除尾空格.
- Rac & DG
Rac环境: RAC版本异同:[10R2,11R1(和10类似)],11R2,12c: 目录: 10.2的ASM需要单独的目录(oracle home):rdbms home,asm home, cr ...
- Ubuntu中设置环境变量详解
1, 为单一用户:.bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.打开用户主目录下的.bashrc,在这个文件中加入export PA ...