多语言展示
当前在线:953今日阅读:26今日分享:39

javascript常用方法函数收集(六)

个人小总结,大牛请直接忽略!
方法/步骤
1

字符串反序function IsReverse(text){    return text.split('').reverse().join('');}

2

金额大写转换函数function transform(tranvalue) {    try {        var i = 1;        var dw2 = new Array('', '万', '亿'); //大单位        var dw1 = new Array('拾', '佰', '仟'); //小单位        var dw = new Array('零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'); //整数部分用        //以下是小写转换成大写显示在合计大写的文本框中            //分离整数与小数        var source = splits(tranvalue);        var num = source[0];        var dig = source[1];        //转换整数部分        var k1 = 0; //计小单位        var k2 = 0; //计大单位        var sum = 0;        var str = '';        var len = source[0].length; //整数的长度        for (i = 1; i <= len; i++) {              var n = source[0].charAt(len - i); //取得某个位数上的数字              var bn = 0;              if (len - i - 1 >= 0) {                bn = source[0].charAt(len - i - 1); //取得某个位数前一位上的数字              }              sum = sum + Number(n);              if (sum != 0) {                str = dw[Number(n)].concat(str); //取得该数字对应的大写数字,并插入到str字符串的前面                if (n == '0') sum = 0;              }              if (len - i - 1 >= 0) { //在数字范围内                if (k1 != 3) { //加小单位                      if (bn != 0) {                        str = dw1[k1].concat(str);                      }                      k1++;                } else { //不加小单位,加大单位                      k1 = 0;                      var temp = str.charAt(0);                      if (temp == '万' || temp == '亿') //若大单位前没有数字则舍去大单位                      str = str.substr(1, str.length - 1);                      str = dw2[k2].concat(str);                      sum = 0;                }              }              if (k1 == 3){ //小单位到千则大单位进一                k2++;              }        }        //转换小数部分        var strdig = '';        if (dig != '') {              var n = dig.charAt(0);              if (n != 0) {                strdig += dw[Number(n)] + '角'; //加数字              }              var n = dig.charAt(1);              if (n != 0) {                strdig += dw[Number(n)] + '分'; //加数字              }        }        str += '元' + strdig;    } catch(e) {        return '0元';    }    return str;}//拆分整数与小数function splits(tranvalue) {    var value = new Array('', '');    temp = tranvalue.split('.');    for (var i = 0; i < temp.length; i++) {        value = temp;    }    return value;}

3

resize的操作(function(){    var fn = function(){            var w = document.documentElement ? document.documentElement.clientWidth : document.body.clientWidth                    ,r = 1255                    ,b = Element.extend(document.body)                    ,classname = b.className;            if(w < r){                    //当窗体的宽度小于1255的时候执行相应的操作            }else{                    //当窗体的宽度大于1255的时候执行相应的操作            }    }    if(window.addEventListener){            window.addEventListener('resize', function(){ fn(); });    }else if(window.attachEvent){            window.attachEvent('onresize', function(){ fn(); });    }    fn();})();

4

实现base64解码function base64_decode(data){    var b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=';    var o1, o2, o3, h1, h2, h3, h4, bits, i = 0,ac = 0,dec = '',tmp_arr = [];    if (!data) { return data; }    data += '';    do {            h1 = b64.indexOf(data.charAt(i++));            h2 = b64.indexOf(data.charAt(i++));            h3 = b64.indexOf(data.charAt(i++));            h4 = b64.indexOf(data.charAt(i++));            bits = h1 << 18 | h2 << 12 | h3 << 6 | h4;            o1 = bits >> 16 & 0xff;            o2 = bits >> 8 & 0xff;            o3 = bits & 0xff;            if (h3 == 64) {                    tmp_arr[ac++] = String.fromCharCode(o1);            } else if (h4 == 64) {                    tmp_arr[ac++] = String.fromCharCode(o1, o2);            } else {                    tmp_arr[ac++] = String.fromCharCode(o1, o2, o3);            }    } while (i < data.length);    dec = tmp_arr.join('');    dec = utf8_decode(dec);    return dec;}

5

获取窗体可见范围的宽与高function getViewSize(){    var de=document.documentElement;    var db=document.body;    var viewW=de.clientWidth==0 ?  db.clientWidth : de.clientWidth;    var viewH=de.clientHeight==0 ?  db.clientHeight : de.clientHeight;    return Array(viewW ,viewH);}

6

判断鼠标是否移出事件function isMouseOut(e, handler) {    if (e.type !== 'mouseout') {            return false;    }    var reltg = e.relatedTarget ? e.relatedTarget : e.type === 'mouseout' ? e.toElement : e.fromElement;    while (reltg && reltg !== handler) {            reltg = reltg.parentNode;    }    return (reltg !== handler);}

7

半角转换为全角函数function ToDBC(str){    var result = '';    for(var i=0; i < str.length; i++){        code = str.charCodeAt(i);        if(code >= 33 && code <= 126){              result += String.fromCharCode(str.charCodeAt(i) + 65248);        }else if (code == 32){              result += String.fromCharCode(str.charCodeAt(i) + 12288 - 32);        }else{              result += str.charAt(i);        }    }    return result;}

8

全角转换为半角函数function ToCDB(str){    var result = '';    for(var i=0; i < str.length; i++){        code = str.charCodeAt(i);        if(code >= 65281 && code <= 65374){              result += String.fromCharCode(str.charCodeAt(i) - 65248);        }else if (code == 12288){              result += String.fromCharCode(str.charCodeAt(i) - 12288 + 32);        }else{              result += str.charAt(i);        }    }    return result;}

9

阻止浏览器默认事件function stopDefault( ev ) {     //阻止默认浏览器动作(W3C)     if ( ev && ev.preventDefault )         ev.preventDefault();     //IE中阻止函数器默认动作的方式     else        window.event.returnValue = false;     return false; };

10

阻止冒泡function stopPropagation(e) {      e = e || window.event;      if(e.stopPropagation) { //W3C阻止冒泡方法          e.stopPropagation();      } else {          e.cancelBubble = true; //IE阻止冒泡方法      }  }

11

简单的表单验证,重点在于电话的验证function fnForm_set(){        var user_name = document.querySelector('#js_username').value.trim();        var user_tel = document.querySelector('#js_tel').value.trim();        if(user_name == null || user_name.length==0)        {                alert('请输入用户名')                stopDefault();        }        else if ((/^0?(13[0-9]|15[]|18[0236789]|14[57])[0-9]{8}$/g.test(user_tel))||(/^13\d{9}$/g.test(user_tel)) || (/^15[0-35-9]\d{8}$/g.test(user_tel)) || (/^18[05-9]\d{8}$/g.test(user_tel)))        {                //alert('验证完成');                return true;        }else if(user_tel == null || user_tel.length==0){                alert('请输入电话号码');                stopDefault();        }else{                alert('请输入合法的电话号码');                stopDefault();        };};

12

获取json的长度function getJsonLength(jsonData){var jsonLength = 0;for(var item in jsonData){jsonLength++;}return jsonLength;}

13

设置cookie的办法function addCookie(name, value, expiresDays){     var cookieString = name + '=' + escape(value);     //判断是否设置过期时间     if(expiresDays > 0) {         var date = new Date();         date.setTime(date.getTime + expiresDays * 24 * 3600 * 1000);         cookieString = cookieString + '; expires=' + date.toGMTString();     };    document.cookie = cookieString; }function getCookie(name){     var strCookie = document.cookie;     var arrCookie = strCookie.split('; ');     for(var i = 0;i < arrCookie.length;i++){         var arr = arrCookie[i].split('=');         if(arr[0] == name) return arr[1];     }    return ''; };

推荐信息