javaScript笔记


js javaScript jquery

--20190403

js

url中文转换   encodeURI(encodeURI(name))    decodeURI(name)


$('#passwordAnwser').textbox('textbox').validatebox('options').required = false;
$('#name').validatebox({required:false});

//$('#passwordAnwser').textbox('setValue','1');
//$('#password').passwordbox('hidePassword');


$.fn.validatebox.defaults.rules.email.message = '请输入有效的<br/>电子邮件地址';


alert回调
$.messager.alert("提示:", msg, "info",function(){
      $('#userDeptEmailFrom').focus();
 });



一秒刷新
 setTimeout(function(){
    window.location.reload();
},1000);


定时
setTimeout(function(){
   init();
   layer.close(loading);  
},500);



滚动条设置在顶端
$('body').scrollTop( $('body').height() );

字符串转函数
var bb = 'function play(){alert("getplay");}';

var ss = bb;

var ex = {getplay:eval("("+ss+")")};

ex.getplay();


JSON.parse(string) :接受一个 JSON 字符串并将其转换成一个 JavaScript 对象。
JSON.stringify(obj) :接受一个 JavaScript 对象并将其转换为一个 JSON 字符串。


layer.close(index);
layer.closeAll(); //疯狂模式,关闭所有层

layer.closeAll('dialog'); //关闭信息框
layer.closeAll('page'); //关闭所有页面层
layer.closeAll('iframe'); //关闭所有的iframe层
layer.closeAll('loading'); //关闭加载层
layer.closeAll('tips'); //关闭所有的tips层


function hoverRowSrc(obj){
    var img = '<img class="add" data-tool="left" style="float:right;position:relative;top:8px;cursor:pointer;" src="img/add.png">';
    if(!$(obj).is(':has(img)') ){
        $(obj).append($(img));
    }
}
function outRowSrc(obj){
    if($(obj).is(':has(img)') ){
        setTimeout(function(){
            $(obj).find('img').remove();
        },50)
    }
}

function initCheckAll(){
    $('input[name="input1"]').on('ifChecked', function(event){
        $('div[name="divSrc"]').each(function(){
            $(this).addClass('checked');
        });
        if($('div[name="divSrc"]').length>0){
            $('button[data-tool="right"]').removeAttr("disabled");
        }
    });
     $('input[name="input1"]').on('ifUnchecked', function(event){
         $('div[name="divSrc"]').each(function(){
                $(this).removeClass('checked');
            });
         $('button[data-tool="right"]').attr("disabled","");
     });    
}

function selectSrc(obj){
    var st = $(obj).attr('class');
    setTimeout(function(){if(st.indexOf('checked')>-1){
            $(obj).removeClass('checked');

            var flag = true;
            $('div[name="divSrc"]').each(function(){
                if($(this).hasClass("checked")){
                    flag = false;
                }
            })
            if(flag){
                $('button[data-tool="right"]').attr("disabled","");
            }

        }else{
            $(obj).addClass('checked');
            $('button[data-tool="right"]').removeAttr("disabled");
        }},20);
} 



$("#tt").tabs({
onSelect : function( title ){
    <%-- if(title == '短信'){
        if(!$("#smsDetail").attr("src")){
            $("#smsDetail").attr("src","<%=smsDetailPage%>");
        }
    } else if(title == '邮件'){
        if(!$("#emailDetail").attr("src")){
            $("#emailDetail").attr("src","<%=emailDetailPage%>");
        }
    } else if(title == '即时消息'){
        if(!$("#imDetail").attr("src")){
            $("#imDetail").attr("src","<%=imDetailPage%>");
        }
    } else if(title == '微信'){
        if(!$("#wxDetail").attr("src")){
            $("#wxDetail").attr("src","<%=wxSendDetail%>");
        }
    } --%>
    <%-- if(!$("#smsDetail").attr("src")){
        $("#smsDetail").attr("src","<%=smsDetailPage%>");
    } --%>
    var pp = $('#tt').tabs('getSelected');
    var ifr =  $($("iframe",pp)[0]);
    if(!ifr.attr("src")){
        var url = ifr.attr("tarsrc");
        ifr.attr("src",url);
    }
}

​   

 $(document).ready(function() {
      $("#fm").form({
            onSubmit: function() {
                return $(this).form("validate");
            },
            success: function(result) {
                if (result == 'success') {
                    $.messager.alert('提示', '保存成功!', 'info');
                } else {
                    alertMsg(result);
                }
            }
        });     
    });

function check()
{
    $('#fm').submit();
}   



$('#loginNameInput').textbox('textbox').keyup(function(event) {
        $('#userName').textbox("setValue", '');
        $('#userId').val('0');
        var text = $('#loginNameInput').combobox("getText");
        val = text || val ;
        text = val;
    if (event.keyCode == "13") { 
        $.ajax({
            url : 'getUsersByLoginName.do?domainId=1&loginName='+text,
            type: 'get',
            dataType:'json',
            success:function(result){
                var data = [];
                data = result;
                $('#loginNameInput').combobox("loadData", data);
                $('#loginNameInput').combobox("showPanel");
                $('#loginNameInput').combobox("setText", text);
            }
        });
    }
});

选择框

//联动单选框
$('#radio21').on('ifChecked', function(event){
    $('#radio22').iCheck('check');
    $('#radio24').iCheck('uncheck');
});

$('#radio23').on('ifChecked', function(event){
    $('#radio22').iCheck('uncheck');
    $('#radio24').iCheck('check');
});

//时间选择框
timebox('#datebox'); 
//demo必填文本框:添加清空文本框信息
$('#tt').textbox().textbox('addClearBtn', 'icon-clear');

//demo文本域:添加事件
$('#textarea').textbox('textbox').on('click', function(){  
    console.log(1);  
});

//复选框事件
$(".checkbox input").each(function(i,el){
    $(this).on('ifChecked', function(event){
        switch(i)
        {
            case 0:
               console.log('第一个按钮已选中');
               break;
            case 1:
               console.log('第二个按钮已选中');
               break;
            default:
               //console.log(event.type);
        }
    });
    $(this).on('ifUnchecked', function(event){
        switch(i)
        {
            case 0:
               console.log('第一个按钮已移除');
               break;
            case 1:
               console.log('第二个按钮已移除');
               break;
            default:
               //console.log(event.type);
        }
    });     
});

//复选框,单选框:添加皮肤
$('input[type="checkbox"],input[type="radio"]').iCheck({
    checkboxClass: 'icheckbox_minimal-blue',
    radioClass: 'iradio_minimal-blue',
    increaseArea: '20%'
});


//单选框、复选框样式
function checkboxAndRadioStyle() {
    $('input[type="checkbox"],input[type="radio"]').iCheck({
        checkboxClass: 'icheckbox_minimal-blue',
        radioClass: 'iradio_minimal-blue',
        increaseArea: '20%'
    });
}

css配置


//超出部分感叹号表示
h3.app-name {
    display: inline-block;
    max-width: 160px;
    overflow: hidden; /*超出部分隐藏*/
    text-overflow: ellipsis; /*超出部分感叹号显示*/
    white-space: nowrap; /*一行显示*/
}

//图片圆角
.user-info.user-avatar img {
    overflow: hidden;
    border-radius: 20px;
    width: 20px;
}

//获取浏览器宽度
function getBrowserWidth(){
    alert($(window).width());
}

//获取屏幕宽度
function getScreenWidth(){
    alert(window.screen.width);
    }

//css 悬浮事件
li:hover,.s1:hover{
        opacity:0.6; //透明度
        filter:alpha(opacity=60); /* IE8 及更早版本 */
        box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
        border-radius:20px;//边框圆角
        border:1px solid #aaa;
    }
ul{
    list-style-type:none;
    margin:0;
    padding:0;
}
li{
    display:inline-block;
}

radio选中

$("input[name='radioName']").on('ifChecked', function(event){
 test();
});

$().ready(function(){
        $("input[name='statisticsTimeRadio']").on('click', function(){
            var type = $("input[name='statisticsTimeRadio']:checked").attr("value");
            if(type==0){
                $('#statisticsTime').hide();
            }else{
                $('#statisticsTime').show();
            }
        });
    });

    $("#rdo1").prop("checked","checked");

    $(".selector").find("option[text='pxx']").attr("selected",true);


  function initCheckBox(){
            $('input[type="radio"],input[type="checkbox"]')
            .iCheck({
                checkboxClass : 'icheckbox_minimal-blue',
                radioClass : 'iradio_minimal-blue'
                });     
            $('input[name="checkall"]').on('ifChecked', function(event){
                $('input[type="checkbox"]').iCheck('check');
            });
             $('input[name="checkall"]').on('ifUnchecked', function(event){
                $('input[type="checkbox"]').iCheck('uncheck');
            });  
        }  


// radio    
 $("input[name='display']").on('ifChecked', function(event){
     if($('#display2').prop('checked')){
         $("#perEdit1").iCheck('unCheck');
         $("#perEdit2").iCheck('check');

     }
});


// checkbox
$('#field6Box').on('ifChecked', function(event){
    $('#field1Box').iCheck('check');
});


$('#field6Box').on('ifUnchecked', function(event){
    if(!$('#field7Box').prop('checked')){
        $('#field1Box').iCheck('unCheck');
    }
});

正则表达式

/*是否带有小数*/
function    isDecimal(strValue )  {  
   var  objRegExp= /^\d+\.\d+$/;
   return  objRegExp.test(strValue);  
}  

/*校验是否中文名称组成 */
function ischina(str) {
    var reg=/^[\u4E00-\u9FA5]{2,4}$/;   /*定义验证表达式*/
    return reg.test(str);     /*进行验证*/
}

/*校验是否全由8位数字组成 */
function isStudentNo(str) {
    var reg=/^[0-9]{8}$/;   /*定义验证表达式*/
    return reg.test(str);     /*进行验证*/
}

/*校验电话码格式 */
function isTelCode(str) {
    var reg= /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/;  
    return reg.test(str);
}

var reg = /^(-){1}\d+|\d+$/;

/*校验邮件地址是否合法 */
function IsEmail(str) {
    var reg=/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
    return reg.test(str);
}

特殊字符正则
var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]") ;
return !pattern.exec(value); //不包含

validatebox

身份证验证
 var idCard = function (value) {
        //if (value.length == 15) return true;
        var number = value.toLowerCase();
        var d, sum = 0, v = '10x98765432', w = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2], a = '11,12,13,14,15,21,22,23,31,32,33,34,35,36,37,41,42,43,44,45,46,50,51,52,53,54,61,62,63,64,65,71,81,82,91';
        var re = number.match(/^(\d{2})\d{4}(((\d{2})(\d{2})(\d{2})(\d{3}))|((\d{4})(\d{2})(\d{2})(\d{3}[x\d])))$/);
        if (re == null || a.indexOf(re[1]) < 0) return false;
        if (re[2].length == 9) {
            number = number.substr(0, 6) + '19' + number.substr(6);
            d = ['19' + re[4], re[5], re[6]].join('-');
        } else d = [re[9], re[10], re[11]].join('-');
        if (!isDateTime.call(d, 'yyyy-MM-dd')) return false;
        for (var i = 0; i < 17; i++) sum += number.charAt(i) * w[i];
        return (re[2].length == 9 || number.charAt(17) == v.charAt(sum % 11));
    }       


<div><input  id="email" name="email" value=""  style="padding:4px;float:left;width: 250px;height:18px;border-radius:4px;border:1px solid #ccc;"
 validType="validEmail"  class="easyui-validatebox validatebox-text"  panelHeight="auto"></div>

validBirthDate

$.extend($.fn.validatebox.defaults.rules, {
    validEmail: {
        validator: function(value, param) {
            var regEx = /^[a-zA-Z0-9_]{1,}@(([a-zA-z0-9]){1,}\.){1,3}(com|cn|net)$/;
            var a = regEx.test(value);
            return a;
        },
        message: '请输入正确邮箱格式'
    }
});
$.extend($.fn.validatebox.defaults.rules, {
 phoneValidType: {
      validator: function(value, param) {
          return /^1[3|4|5|6|7|8|9][0-9]{9}$/.test(value);
      },
      message: '请输入正确的手机号码'
  }
});

$.extend($.fn.validatebox.defaults.rules, {
 emailValidType: {
      validator: function(value, param) {
         if(value.indexOf('*')>0){
             return false;
         }
         //var reg = /^\\w+((-\\w+)|(\\.\\w+))*\\@[A-Za-z0-9]+((\\.|-)[A-Za-z0-9]+)*\\.[A-Za-z0-9]+$/;
         //return !reg.test(value);
         return /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(value);
      },
      message: '请输入有效的电子邮件地址'
  }
});

$.extend($.fn.validatebox.defaults.rules, {
     telephoneValidType: {
            validator: function (value, param) {
               return /^((0(((\d{2,3})-(\d){7,8})|(\d{2,3}(\d){7,8}))))$/.test(value);
            },
            message: '联系电话不正确'
     }
 });