//cookie
function setCookie(name, value, iDay)
{
if(iDay!==false)
{
var oDate=new Date();
oDate.setDate(oDate.getDate()+iDay); document.cookie=name+'='+value+';expires='+oDate+';path=/';
}
else
{
document.cookie=name+'='+value;
}
} function getCookie(name)
{
var arr=document.cookie.split('; ');
var i=0; for(i=0;i<arr.length;i++)
{
var arr2=arr[i].split('='); if(arr2[0]==name)
{
return arr2[1];
}
}
return '';
} function removeCookie(name)
{
setCookie(name, 'a', -1);
}
//事件
function myAddEvent(obj, ev, fn){
obj.attachEvent?obj.attachEvent('on'+ev, fn):obj.addEventListener(ev, fn, false);
}
function myDelEvent(obj, ev, fn){
obj.detachEvent?obj.detachEvent('on'+ev, fn):obj.removeEventListener(ev, fn, false);
} function getByClass(oParent, sClass)
{
var aEle=oParent.getElementsByTagName('*');
var re=new RegExp('\\b'+sClass+'\\b', 'i');
var aResult=[]; for(var i=0;i<aEle.length;i++)
{
if(re.test(aEle[i].className))
{
aResult.push(aEle[i]);
}
} return aResult;
} function bindEvent(obj, ev, fn)
{
obj.addEventListener?obj.addEventListener(ev, fn, false):obj.attachEvent('on'+ev, fn);
}
function unbindEvent(obj, ev, fn)
{
obj.removeEventListener?obj.removeEventListener(ev, fn, false):obj.detachEvent('on'+ev, fn);
} //生成随机数
function rnd(n, m)
{
return Math.random()*(m-n)+n;
} function time2date(t)
{
function d(n){return n<10?'0'+n:''+n;} var oDate=new Date(t*1000); return oDate.getFullYear()+'-'+d(oDate.getMonth()+1)+'-'+d(oDate.getDate())+' '+d(oDate.getHours())+':'+d(oDate.getMinutes())+':'+d(oDate.getSeconds());
}
function time2day(t)
{
function d(n){return n<10?'0'+n:''+n;} var oDate=new Date(t*1000); return oDate.getFullYear()+'-'+d(oDate.getMonth()+1)+'-'+d(oDate.getDate());
} //拖拽
function drag(objEv, objMove, fnMoveCallBack)
{
var disX=0,disY=0; objEv.onmousedown=function (ev)
{
var oEvent=ev||event;
disX=(document.documentElement.scrollLeft||document.body.scrollLeft)+oEvent.clientX-objMove.offsetLeft;
disY=(document.documentElement.scrollTop||document.body.scrollTop)+oEvent.clientY-objMove.offsetTop; if(objEv.setCapture)
{
objEv.onmousemove=fnMove;
objEv.onmouseup=fnUp; objEv.setCapture();
}
else
{
document.onmousemove=fnMove;
document.onmouseup=fnUp; return false;
}
}; function fnMove(ev)
{
var oEvent=ev||event;
var l=(document.documentElement.scrollLeft||document.body.scrollLeft)+oEvent.clientX-disX;
var t=(document.documentElement.scrollTop||document.body.scrollTop)+oEvent.clientY-disY; fnMoveCallBack(l,t);
} function fnUp()
{
this.onmousemove=null;
this.onmouseup=null; if(this.releaseCapture)this.releaseCapture();
}
} function mouseScroll(obj, fnCallBack)
{
bindEvent(obj, 'mousewheel', fnScroll);
bindEvent(obj, 'DOMMouseScroll', fnScroll); function fnScroll(ev)
{
var oEvent=ev||event;
var bDown; if(oEvent.wheelDelta)
{
bDown=oEvent.wheelDelta<0;
}
else
{
bDown=oEvent.detail>0;
} fnCallBack(bDown); if(oEvent.preventDefault)oEvent.preventDefault();
return false;
}
} //摆动运动
zns.site.fx.swing=function (obj, cur, target, fnDo, fnEnd, acc)
{
if(zns.site.fx.browser_test.IE6)
{
fnDo&&fnDo.call(obj, target);
fnEnd&&fnEnd.call(obj, target);
return;
}
if(!acc)acc=0.1;
var now={};
var x=0; //0-100 if(!obj.__swing_v)obj.__swing_v=0; if(!obj.__last_timer)obj.__last_timer=0;
var t=new Date().getTime();
if(t-obj.__last_timer>20)
{
fnMove();
obj.__last_timer=t;
} clearInterval(obj.timer);
obj.timer=setInterval(fnMove, 20); function fnMove(){
if(x<50)
{
obj.__swing_v+=acc;
}
else
{
obj.__swing_v-=acc;
} //if(Math.abs(obj.__flex_v)>MAX_SPEED)obj.__flex_v=obj.__flex_v>0?MAX_SPEED:-MAX_SPEED; x+=obj.__swing_v; //alert(x+','+obj.__swing_v); for(var i in cur)
{
now[i]=(target[i]-cur[i])*x/100+cur[i];
} if(fnDo)fnDo.call(obj, now); if(/*Math.abs(obj.__swing_v)<1 || */Math.abs(100-x)<1)
{
clearInterval(obj.timer);
if(fnEnd)fnEnd.call(obj, target);
obj.__swing_v=0;
}
}
}; //弹性运动
zns.site.fx.flex=function (obj, cur, target, fnDo, fnEnd, fs, ms)
{
if(zns.site.fx.browser_test.IE6)
{
fnDo&&fnDo.call(obj, target);
fnEnd&&fnEnd.call(obj, target);
return;
}
var MAX_SPEED=16; if(!fs)fs=6;
if(!ms)ms=0.75;
var now={};
var x=0; //0-100 if(!obj.__flex_v)obj.__flex_v=0; if(!obj.__last_timer)obj.__last_timer=0;
var t=new Date().getTime();
if(t-obj.__last_timer>20)
{
fnMove();
obj.__last_timer=t;
} clearInterval(obj.timer);
obj.timer=setInterval(fnMove, 20); function fnMove(){
obj.__flex_v+=(100-x)/fs;
obj.__flex_v*=ms; if(Math.abs(obj.__flex_v)>MAX_SPEED)obj.__flex_v=obj.__flex_v>0?MAX_SPEED:-MAX_SPEED; x+=obj.__flex_v; for(var i in cur)
{
now[i]=(target[i]-cur[i])*x/100+cur[i];
} if(fnDo)fnDo.call(obj, now); if(Math.abs(obj.__flex_v)<1 && Math.abs(100-x)<1)
{
clearInterval(obj.timer);
if(fnEnd)fnEnd.call(obj, target);
obj.__flex_v=0;
}
}
};

半角与全角

代码

 /**
* 转全角字符
*/
function toDBC(str){
var result = "";
var len = str.length;
for(var i=0;i<len;i++)
{
var cCode = str.charCodeAt(i);
//全角与半角相差(除空格外):65248(十进制)
cCode = (cCode>=0x0021 && cCode<=0x007E)?(cCode + 65248) : cCode;
//处理空格
cCode = (cCode==0x0020)?0x03000:cCode;
result += String.fromCharCode(cCode);
}
return result;
} /**
* 转半角字符
*/
function toSBC(str){
var result = "";
var len = str.length;
for(var i=0;i<len;i++)
{
var cCode = str.charCodeAt(i);
//全角与半角相差(除空格外):65248(十进制)
cCode = (cCode>=0xFF01 && cCode<=0xFF5E)?(cCode - 65248) : cCode;
//处理空格
cCode = (cCode==0x03000)?0x0020:cCode;
result += String.fromCharCode(cCode);
}
return result;
}

全角与半角字符的转换

知识点

通过半角字符与全角字符的比较(ASCII字符),我们可以发现,拥有全角与半角之分的ASCII字符范围:0x20~0x7E。

比如:

符号 半角 全角 相差
# 0x0023 0xFF03 0xFEE0
? 0x003F 0xFF1F 0xFEE0
空格 0x0020 0x03000 0x2FE0

除了空格外,其他的字符中,全角与半角均相差:0xFFE0

因此,在全角与半角的字符转换中,需要对空格特殊处理。

例如:

全角 = 半角 + 0xFEE0

半角 = 全角  - 0xFFE0

相关文章:

请问半角全角有什么区别

维基百科:全角和半角

Java 半角全角互相转换

代码段摘抄自:http://www.zhinengshe.com/js/main.js

推荐一个不错的javascript函数库网站:http://www.jslab.org.cn/

Javascript:常用函数封装的更多相关文章

  1. javascript常用函数封装——运动、cookie、ajax、获取行内样式兼容写法、拖拽

    运动.cookie.ajax.获取行内样式兼容写法.拖拽封装大合集. //url,data,type,timeout,success,error function ajax(options){ //- ...

  2. JavaScript常用函数

    JavaScript常用函数 常规函数 数组函数 日期函数 数学函数 字符串函数 常规函数 (1)alert函数:显示一个警告对话框,包括一个OK按钮.(alert("输入错误") ...

  3. 【javascript】javascript常用函数大全

    javascript函数一共可分为五类:   •常规函数   •数组函数   •日期函数   •数学函数   •字符串函数   1.常规函数   javascript常规函数包括以下9个函数:   ( ...

  4. php文件操作(最后进行文件常用函数封装)

    文件信息相关API $filename="./1-file.php"; //filetype($filename):获取文件的类型,返回的是文件的类型 echo '文件类型为:', ...

  5. 【前端】Util.js-ES6实现的常用100多个javaScript简短函数封装合集(持续更新中)

    Util.js (持续更新中...) 项目地址: https://github.com/dragonir/Util.js 项目描述 Util.js 是对常用函数的封装,方便在实际项目中使用,主要内容包 ...

  6. Javascript 常用函数【3】

    jquery选中radio //如果之前有选中的,则把选中radio取消掉 $("#tj_cat .pro_category").each(function() { if ($(t ...

  7. JavaScript 常用函数总结

    javascript函数:  ·常规函数  ·数组函数  ·日期函数  ·数学函数  ·字符串函数 .cookie函数 1.常规函数 javascript常规函数包括以下9个函数:  (1)alert ...

  8. JavaScript常用函数和方法

    alert('Hello World!') //方法用于显示带有一条指定消息和一个 OK 按钮的警告框. //定义js函数 function Foo(name) { console.log(name) ...

  9. WebView 中重写javascript 常用函数

    常规函数   javascript 常规函数包括以下3个函数:  (1)alert函数:显示一个警告对话框,包括一个OK按钮. 对应:http://www.dreamdu.com/javascript ...

  10. Javascript 常用函数【2】

    1.常规函数javascript常规函数包括以下9个函数:(1)alert函数:显示一个警告对话框,包括一个OK按钮.(2)confirm函数:显示一个确认对话框,包括OK.Cancel按钮.(3)e ...

随机推荐

  1. string.Format , object[] args 使用

    string sql = "insert into TableA values('{0}','{1}','{2}',GetDate(),'{3}' "; sql = string. ...

  2. Entity Framework Code First 学习

    1.添加entityframework 项目-管理解决方案的 NuGet 程序包-联机-Entity Framework 2.code first Migration 工具->库程序包管理器-& ...

  3. css3 transform的基本用法和介绍

    <style>/* 最简单的一个transition动画 .box{width:100px;height:100px;border:1px solid;background:green;- ...

  4. C++ map使用(基于hashtable)

    C++ map使用(基于hashtable) 实际上基于hashtable的map有两种一种是hash_map,unordered_map,但是最好使用后者,原因如下[1] 因为标准化的推进,unor ...

  5. log4net Tutorial

    Introduction One of the greatest logging tools out there for .NET is log4net. This software is the g ...

  6. linux下卸载mysql

    卸载mysql rpm -qa|grep -i mysql rpm -ev MySQL-server-4.0.14-0 MySQL-client-4.0.14-0 卸载后/var/lib/mysql中 ...

  7. 某些版本的IIS可能有SessionID混淆的Bug

    某公司为我服务的甲方公司开发一个挺重要的应用.已经上线了一年多了,不停的修修改改.也算正常使用.正所谓,秀恩爱,死得快.No 作就No Die.也少知道是那个Smarty Pants闲的蛋疼说新修改的 ...

  8. [ucgui] 对话框6——触屏位置简单例子

    >_<:直接调用函数获得触屏位置: xPhys = GUI_TOUCH_GetxPhys(); /* Get the A/D mesurement result in x */ yPhys ...

  9. Redis教程(九):主从复制配置实例

    转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/136.html 一.Redis的Replication: 这里首先需要说明 ...

  10. paip.互联网产品要成功的要素

    paip.互联网产品要成功的要素 作者Attilax  艾龙,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http://blog.csdn.net/atti ...