当前位置: 58彩票app下载 > 关于计算机 > 正文

javascript常用函数归纳整理,常用JS加密编码算法

时间:2019-09-22 05:33来源:关于计算机
一:UTF8编码函数 本文整理汇总了部分js常用函数,在那之中囊括对数据操作,字符替换操作,日期及加解密操作函数,还应该有一部分大致的辨证函数。便于大家查阅参照他事他说加以

一:UTF8编码函数

本文整理汇总了部分js常用函数,在那之中囊括对数据操作,字符替换操作,日期及加解密操作函数,还应该有一部分大致的辨证函数。便于大家查阅参照他事他说加以考察。相信对我们会有所援救。

复制代码 代码如下:

1.typeof、constructor、instanceof对数组的论断

function URLEncode(Str){
if(Str==null||Str=="")
return "";
var newStr="";
function toCase(sStr){
return sStr.toString(16).toUpperCase();
}
for(var i=0,icode,len=Str.length;i<len;i++){
icode=Str.charCodeAt(i);
if( icode<0x10)
newStr+="%0"+icode.toString(16).toUpperCase();
else if(icode<0x80){
if(icode==0x20)
newStr+="+";
else if((icode>=0x30&&icode<=0x39)||(icode>=0x41&&icode<=0x5A)||(icode>=0x61&&icode<=0x7A))
newStr+=Str.charAt(i);
else
newStr+="%"+toCase(icode);
}
else if(icode<0x800){
newStr+="%"+toCase(0xC0+(icode>>6));
newStr+="%"+toCase(0x80+icode%0x40);
}
else{
newStr+="%"+toCase(0xE0+(icode>>12));
newStr+="%"+toCase(0x80+(icode>>6)%0x40);
newStr+="%"+toCase(0x80+icode%0x40);
}
}
return newStr;
}

复制代码 代码如下:

二:Base64编码,解码函数

var arr = [1,5,6,9,8,5,4];
//var arr = new Array(1,5,6,9,8,5,4);
console.log(typeof arr);//object
console.log(arr.constructor());//[]
console.log(arr instanceof Array);//true

复制代码 代码如下:

2.函数自调用

var base64EncodeChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
var base64DecodeChars = new Array(
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63,
52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1,
-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1,
-1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1);
function base64encode(str) {
var out, i, len;
var c1, c2, c3;
len = str.length;
i = 0;
out = "";
while(i < len) {
c1 = str.charCodeAt(i++) & 0xff;
if(i == len)
{
out += base64EncodeChars.charAt(c1 >> 2);
out += base64EncodeChars.charAt((c1 & 0x3) << 4);
out += "==";
break;
}
c2 = str.charCodeAt(i++);
if(i == len)
{
out += base64EncodeChars.charAt(c1 >> 2);
out += base64EncodeChars.charAt(((c1 & 0x3)<< 4) | ((c2 & 0xF0) >> 4));
out += base64EncodeChars.charAt((c2 & 0xF) << 2);
out += "=";
break;
}
c3 = str.charCodeAt(i++);
out += base64EncodeChars.charAt(c1 >> 2);
out += base64EncodeChars.charAt(((c1 & 0x3)<< 4) | ((c2 & 0xF0) >> 4));
out += base64EncodeChars.charAt(((c2 & 0xF) << 2) | ((c3 & 0xC0) >>6));
out += base64EncodeChars.charAt(c3 & 0x3F);
}
return out;
}
function base64decode(str) {
var c1, c2, c3, c4;
var i, len, out;
len = str.length;
i = 0;
out = "";
while(i < len) {
/* c1 */
do {
c1 = base64DecodeChars[str.charCodeAt(i++) & 0xff];
} while(i < len && c1 == -1);
if(c1 == -1)
break;
/* c2 */
do {
c2 = base64DecodeChars[str.charCodeAt(i++) & 0xff];
} while(i < len && c2 == -1);
if(c2 == -1)
break;
out += String.fromCharCode((c1 << 2) | ((c2 & 0x30) >> 4));
/* c3 */
do {
c3 = str.charCodeAt(i++) & 0xff;
if(c3 == 61)
return out;
c3 = base64DecodeChars[c3];
} while(i < len && c3 == -1);
if(c3 == -1)
break;
out += String.fromCharCode(((c2 & 0XF) << 4) | ((c3 & 0x3C) >> 2));
/* c4 */
do {
c4 = str.charCodeAt(i++) & 0xff;
if(c4 == 61)
return out;
c4 = base64DecodeChars[c4];
} while(i < len && c4 == -1);
if(c4 == -1)
break;
out += String.fromCharCode(((c3 & 0x03) << 6) | c4);
}
return out;
}
function utf16to8(str) {
var out, i, len, c;
out = "";
len = str.length;
for(i = 0; i < len; i++) {
c = str.charCodeAt(i);
if ((c >= 0x0001) && (c <= 0x007F)) {
out += str.charAt(i);
} else if (c > 0x07FF) {
out += String.fromCharCode(0xE0 | ((c >> 12) & 0x0F));
out += String.fromCharCode(0x80 | ((c >> 6) & 0x3F));
out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
} else {
out += String.fromCharCode(0xC0 | ((c >> 6) & 0x1F));
out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
}
}
return out;
}
function utf8to16(str) {
var out, i, len, c;
var char2, char3;
out = "";
len = str.length;
i = 0;
while(i < len) {
c = str.charCodeAt(i++);
switch(c >> 4)
{
case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7:
// 0xxxxxxx
out += str.charAt(i-1);
break;
case 12: case 13:
// 110x xxxx 10xx xxxx
char2 = str.charCodeAt(i++);
out += String.fromCharCode(((c & 0x1F) << 6) | (char2 & 0x3F));
break;
case 14:
// 1110 xxxx 10xx xxxx 10xx xxxx
char2 = str.charCodeAt(i++);
char3 = str.charCodeAt(i++);
out += String.fromCharCode(((c & 0x0F) << 12) |
((char2 & 0x3F) << 6) |
((char3 & 0x3F) << 0));
break;
}
}
return out;
}
function doit() {
var f = document.f
f.output.value = base64encode(utf16to8(f.source.value))
f.decode.value = utf8to16(base64decode(f.output.value))
}

复制代码 代码如下:

12下一页阅读全文

(function (a, b) {
    console.log(a + b);//30 自调用
})(10, 20);3.去除两侧空格
function trim (str) {
    return str.replace(/^s+|s+$/g, '');
}
console.log('   woshi   sss   ');//   woshi   sss  
console.log(trim('   woshi   sss   '));//woshi   sss

你或然感兴趣的作品:

  • JS常用加密编码与算法实例总计
  • 原生js的途观SA和AES加密解密算法
  • JavaScript SHA512加密算法详细代码
  • JavaScript SHA-256加密算法详细代码
  • JavaScript SHA1加密算法达成详细代码
  • Javascript兑现的SHA-256加密算法完整实例
  • JavaScript完成的SHA-1加密算法完整实例
  • JavaScript SHA512&SHA256加密算法详解
  • JavaScript落成的encode64加密算法实例剖析
  • JavaScript落到实处SHA-1加密算法的不二秘技
  • Java、JavaScript、Oracle、MySQL中贯彻的MD5加密算法分享
  • JS前端加密算法示例

4.数字判别

复制代码 代码如下:

function isNumber(n){
    return !isNaN(parseFloat(n)) && isFinite(n);
}
console.log(isNumber('e345'));

5.数组决断

复制代码 代码如下:

function isArray(obj){
    return Object.prototype.toString.call(obj) === '[object Array]' ;
}
console.log(isArray(arr));

6.length的理解

复制代码 代码如下:

var myArray = [12 , 222 , 1000 ];
myArray.length = 0; // myArray 会形成空数组[].----- length是可读可写的性质

7、base64_encode加密,解密

复制代码 代码如下:

function base64encode(str){
    var out,i,len,base64EncodeChars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
    var c1,c2,c3;
    len=str.length;
    i=0;
    out="";
    while(i<len){
        c1=str.charCodeAt(i++)&0xff;
        if(i==len){
            out+=base64EncodeChars.charAt(c1>>2);
            out+=base64EncodeChars.charAt((c1&0x3)<<4);
            out+="==";
            break;
        }
        c2=str.charCodeAt(i++);
        if(i==len){
            out+=base64EncodeChars.charAt(c1>>2);
            out+=base64EncodeChars.charAt(((c1&0x3)<<4)|((c2&0xF0)>>4));
            out+=base64EncodeChars.charAt((c2&0xF)<<2);
            out+="=";
            break;
        }
        c3=str.charCodeAt(i++);
        out+=base64EncodeChars.charAt(c1>>2);
        out+=base64EncodeChars.charAt(((c1&0x3)<<4)|((c2&0xF0)>>4));
        out+=base64EncodeChars.charAt(((c2&0xF)<<2)|((c3&0xC0)>>6));
        out+=base64EncodeChars.charAt(c3&0x3F);
    }
    return out;
}
function base64decode(str){
    var c1,c2,c3,c4,base64DecodeChars=new Array(-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-1,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-1,-1,-1,-1,-1);
    var i,len,out;
    len=str.length;
    i=0;
    out="";
    while(i<len){
        /* c1 */
        do{
            c1=base64DecodeChars[str.charCodeAt(i++)&0xff];
        }while(i<len&&c1==-1);
        if(c1==-1) break;
        /* c2 */
        do{
            c2=base64DecodeChars[str.charCodeAt(i++)&0xff];
        }while(i<len&&c2==-1);
        if(c2==-1) break;
        out+=String.fromCharCode((c1<<2)|((c2&0x30)>>4));
        /* c3 */
        do{
            c3=str.charCodeAt(i++)&0xff;
            if(c3==61) return out;
            c3=base64DecodeChars[c3];
        }while(i<len&&c3==-1);
        if(c3==-1) break;
        out+=String.fromCharCode(((c2&0XF)<<4)|((c3&0x3C)>>2));
        /* c4 */
        do{
            c4=str.charCodeAt(i++)&0xff;
            if(c4==61) return out;
            c4=base64DecodeChars[c4];
        }while(i<len&&c4==-1);
        if(c4==-1) break;
        out+=String.fromCharCode(((c3&0x03)<<6)|c4);
    }
    return out;
}
function utf16to8(str){
    var out,i,len,c;
    out="";
    len=str.length;
    for (i=0;i<len;i++){
        c=str.charCodeAt(i);
        if((c>=0x0001)&&(c<=0x007F)){
            out+=str.charAt(i);
        } else if(c>0x07FF){
            out+=String.fromCharCode(0xE0|((c>>12)&0x0F));
            out+=String.fromCharCode(0x80|((c>>6)&0x3F));
            out+=String.fromCharCode(0x80|((c>>0)&0x3F));
        } else {
            out+=String.fromCharCode(0xC0|((c>>6)&0x1F));
            out+=String.fromCharCode(0x80|((c>>0)&0x3F));
        }
    }
    return out;
}
function utf8to16(str){
    var out,i,len,c;
    var char2,char3;
    out="";
    len=str.length;
    i=0;
    while(i<len){
        c=str.charCodeAt(i++);
        switch (c>>4){
        case 0:
        case 1:
        case 2:
        case 3:
        case 4:
        case 5:
        case 6:
        case 7:
            // 0xxxxxxx
            out+=str.charAt(i-1);
            break;
        case 12:
        case 13:
            // 110x xxxx   10xx xxxx
            char2=str.charCodeAt(i++);
            out+=String.fromCharCode(((c&0x1F)<<6)|(char2&0x3F));
            break;
        case 14:
            // 1110 xxxx  10xx xxxx  10xx xxxx
            char2=str.charCodeAt(i++);
            char3=str.charCodeAt(i++);
            out+=String.fromCharCode(((c&0x0F)<<12)|((char2&0x3F)<<6)|((char3&0x3F)<<0));
            break;
        }
    }
    return out;
}

8、日期时间
getDay函数:再次来到星期几,值为0~6,在这之中0表示周日,1象征周五,...,6代表周末。例:

复制代码 代码如下:

function DateDemo() 

var d, day, x, s = "Today is: "; 
var x = new Array("Sunday", "Monday", "Tuesday"); 
var x = x.concat("Wednesday","Thursday", "Friday"); 
var x = x.concat("Saturday"); 
d = new Date(); 
day = d.getDay(); 
return(s += x[day]); 
}

(3)getHouse函数:重临日期的"小时"部分,值为0~23。例。

复制代码 代码如下:

function TimeDemo() 

var d, s = "The current local time is: "; 
var c = ":"; 
d = new Date(); 
s += d.getHours() + c; 
s += d.getMinutes() + c; 
s += d.getSeconds() + c; 
s += d.getMilliseconds(); 
return(s); 
}

 
(4)getMinutes函数:再次来到日期的"秒钟"部分,值为0~59。见上例。 
(5)getMonth函数:再次回到日期的"月"部分,值为0~11。个中0表示11月,2意味七月,...,11意味11月。见后边的例证。 
(6)getSeconds函数:重返日期的"秒"部分,值为0~59。见前边的事例。 
(7)getTime函数:重回系统时间。

希望本文所述对大家的javascript程序设计具有帮助。

你大概感兴趣的文章:

  • js常用函数 不错
  • JavaScript 常用函数库详解
  • Jquery笔者John Resig自个儿包裹的javascript 常用函数
  • js 变量类型转变常用函数与代码[比较全]
  • JavaScript 常用函数
  • 基于prototype扩大的JavaScript常用函数库
  • javascript的数组和常用函数详解
  • javascript中数组的七种定义方法和常用函数简要介绍
  • nodejs文件操作模块FS(File System)常用函数简明计算
  • 引入4个原生javascript常用的函数

编辑:关于计算机 本文来源:javascript常用函数归纳整理,常用JS加密编码算法

关键词: