JS,JQ,PHP的小知识点整理

在日常开发中所使用的JS,JQ,PHP的小知识点整理

持续更新……

1.js和jq获取当前的时间戳

方法一:
<script>
        var timestamp = Date.parse(new Date());
        //result:1480977330000
    </script>
方法二:
<script>
    var timestamp = (new Date()).valueOf();
    //result:1480977330748
</script>
方法三:
<script>
    var timestamp = new Date().getTime();
    //result:1480977330748
</script>

**第一种:获取的时间戳是把毫秒改成000显示,
第二种和第三种是获取了当前毫秒的时间戳。**

2.js和jq获取表单的所有元素的方法和封装

JS获取所有表单元素的封装方法
<script>
    //获取指定form中的所有的<input>对象  
    function getElements(formId) {  
      var form = document.getElementById(formId);  
      var elements = new Array();  
      var tagElements = form.getElementsByTagName('input');  
      for (var j = 0; j < tagElements.length; j++){ 
         elements.push(tagElements[j]); 

      } 
      return elements;  
    }  

    //获取单个input中的【name,value】数组 
    function inputSelector(element) {  
     if (element.checked)  
       return [element.name, element.value];  
    }  

    function input(element) {  
      switch (element.type.toLowerCase()) {  
       case 'submit':  
       case 'hidden':  
       case 'password':  
       case 'text':  
        return [element.name, element.value];  
       case 'checkbox':  
       case 'radio':  
        return inputSelector(element);  
      }  
      return false;  
    }  

    //组合URL 
    function serializeElement(element) {  
      var method = element.tagName.toLowerCase();  
      var parameter = input(element);  

      if (parameter) {  
       var key = encodeURIComponent(parameter[0]);  
       if (key.length == 0) return;  

       if (parameter[1].constructor != Array)  
        parameter[1] = [parameter[1]];  

       var values = parameter[1];  
       var results = [];  
       for (var i=0; i<values.length; i++) {  
        results.push(key + '=' + encodeURIComponent(values[i]));  
       }  
       return results.join('&');  
      }  
     }  

    //调用方法   
    function serializeForm(formId) {  
      var elements = getElements(formId);  
      var queryComponents = new Array();  

      for (var i = 0; i < elements.length; i++) {  
       var queryComponent = serializeElement(elements[i]);  
       if (queryComponent)  
        queryComponents.push(queryComponent);  
      }  

      return queryComponents.join('&'); 
    }  
    </script>

以上的代码可以把表单的所有数据拼接到一个URL串上,如:

result:user=zjw&psw=123145&phone=1323442123

JQ获取表单所有值

<script>
    $(function() {
      $('#submit').click(function() {
        var d = {};
        var t = $('form').serializeArray();
        $.each(t, function() {
          d[this.name] = this.value;
        });
        alert(JSON.stringify(d));
      });
    });
    </script>

result:{user:1,psw:15466,phone:13565674471}

补充一个小知识点:

而JSON.stringify(arr)是从一个对象解析出JSON字符串,是带[]的

另外JSON.parse() 是用于从一个字符串中解析出json对象

还有一个更加简便的方法

$("#my_form").serialize();

这个方法可以获得form的所有提交值,而且可以直接用于AJAX

var my_data = $("#my_form").serialize();
        //ajax提交
    $.ajax({
            url:"{:U('do_post_info')}",
            data:data,
            type:'post',
            dataType:'json',
            success:function(res){
                alert(res);
            }
        });

这个方法应用于不想提交表单,而获取到表单值

PHP的两个格式化数字的好方法

sprintf()函数
sprintf(format,arg1,arg2,arg++)  
参数描述
format必需。转换格式。
arg1必需。规定插到 format 字符串中第一个 % 符号处的参数。
arg2可选。规定插到 format 字符串中第二个 % 符号处的参数。
arg++可选。规定插到 format 字符串中第三、四等等 % 符号处的参数。

说明:参数 format 是转换的格式,以百分比符号 (“%”) 开始到转换字符结束。下面的可能的 format值:

  • %% - 返回百分比符号
  • %b - 二进制数
  • %c - 依照 ASCII 值的字符
  • %d - 带符号十进制数
  • %e - 可续计数法(比如 1.5e+3)
  • %u - 无符号十进制数
  • %f - 浮点数(local settings aware)
  • %F - 浮点数(not local settings aware)
  • %o - 八进制数
  • %s - 字符串
  • %x - 十六进制数(小写字母)
  • %X - 十六进制数(大写字母)

arg1, arg2, ++ 等参数将插入到主字符串中的百分号 (%) 符号处。该函数是逐步执行的。在第一个 % 符号中,插入 arg1,在第二个 % 符号处,插入 arg2,依此类推。

 //生成4位数,不足前面补0     
    $var=sprintf("%04d", 2);  
    echo $var;//结果为0002       
    echo date('Y_m_d', time()).'_'.sprintf('d', rand(0,99));  
    echo sprintf('%05s',444);//输出5为字符串,不足以0补充  
格式数字 number_format()
$number = 1234.56;  

// english notation (default)  
$english_format_number = number_format($number);  
// 1,235  

// French notation  
$nombre_format_francais = number_format($number, 2, ',', ' ');  
// 1 234,56  

$number = 1234.5678;  

// english notation without thousands seperator  
$english_format_number = number_format($number, 2, '.', '');  
// 1234.57  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值