javascript基础 (2)

javascript:
   一:数据类型
         1. 数值型:例如 3  5  1.2  3.4
         2. 布尔:两个值真或假,如true或false
         3. 字符串:例如: ‘I am a jelly doughnut’由一个或多个字符组成,
               用单引号或双引号引起来的一系列的字符(也可以称之为一个字符串对象)
          4. 空值:用关键字NULL表示.如果变量声明但是没有赋值就是这个类型
          5. 未定义:用关键字undefined表示,如果变量未声明则就是未定义类型
          6. 数组:用new Array()声明的就是数据(也可以称之为一个数组对象)
          7. 对象:{}使用一对花括号声明的就是一个对象
  二:
      parseInt():将字符串转化为整数
     parseFloat():将字符串转化为浮点数
     isNaN():判断给定的值是否为数值,如果不是数值则返回true,是数值返返回false
 三 :事件
    1>鼠标事件
         Onclick:鼠标单击事件,当鼠标单击时此事件触发
         Onmouseover:鼠标移上事件,当鼠标移上某个元素时此事件触发
         Onmouseout:鼠标移出事件,当鼠标移出某个元素时此事件触发
    2>键盘事件
         Onkeyup:键盘抬起事件,当抬起键盘的时候此事件触发
         Onkeydown:键盘按下事件,当按下键盘的时候此事件触发
         Onmouseout:鼠标移出事件,当鼠标移出某个元素时此事件触发
    3>页面事件
         Onload:页面加载事件,当打开这个页面的时候此事件触发
         Onunload:页面卸载事件,当关闭页面的时候此事件触发
    4>表单事件
         Onblur:失去焦点事件,当光标离开文本框时此事件触发
         Onsubmit:表单提交事件,当点击提交按钮的时候此事件触发
         Onchange:内容改变事件,当改变内容时此事件触发
  四: 熟练掌握Math对象
     Math.round():四舍五入    例如:alert(Math.round(1.2))结果是1
    Math.ceil():向上取整         例如:alert(Math.round(1.2))结果是2
    Math.floor():向下取整       例如:alert(Math.round(1.2))结果是1
    Math.random():产生0---1之间的随机数    
alert(parseInt(Math.random()*10))则会产生一个1到10之间的随机数
 五: 灵活运用window对象的方法
      window.alert():弹出一个带有确定按钮的对话框
      Window.confirm():弹出一个带有确认和取消按钮的对话框
      Window.prompt():弹出一个带有输入框的对话框
      Window.open():打开一个新的窗口
      Window.close():关闭浏览器
     History.go(-1):后退
      History.go(0):刷新
     History.go(1):前进
        History.back():后退
         History.forward():前进
六:灵活运用正则表达式的匹配符
    1> 模式匹配符:
      :转义字符  例如:转义了b
      ^:正则表达式开始符号
      $:正则表达式结束符号
      *:匹配前面的字符出现0次或者n次
      +:匹配前面的字符出现1次或者n次
      ?:匹配前面的字符出现0次或者1次
      .:匹配除了换行符以外的所有单个字符
      |:或者的意思,例如x|y  匹配x或者y
      {n}:匹配前面的n个字符
      {n,m}:匹配至少n个最多m个前面字符
      [xyz]:匹配中括号里的任意一个字符
      [^xyz]:匹配除了中括号里的任意一个字符等价于[0-9]
      w:匹配任意一个数字或字母或下划线 等价于[A-Za-z0-9_]
      d:匹配任意一个0--9之间的数字
     i:忽略大小写
    2>js:正则检测字符串函数:test(),成功返回true,失败返回false
         例如:
         Var str=”zhangsan”;
         Var reg=/^w+$/;
         If(reg.test($str)){
              Alert(“用户名合法”)
       }
    3>     js正则表达:
     //用户名由6-18位的字母数字下划线组成,不能由数字开头
    r_name=/^[a-z]w{5,17}$/i
          //密码长度不能少于六位
          var r_pwd=/^w{6,}$/
          //所有的通用邮箱地址
         var r_eamil=/^w+@w+(.)w+$/
          //匹配一个QQ邮箱地址
          //861745122@qq.com
          var r_qq_email=/^d{5,}@qq(.)com$/
          //匹配一个163的邮箱地址
          var r_163_email=/^w+@163(.)com$/
         //匹配一个后缀名可能是.com|.net|.cn|.edu
          var email=/^w+@w+(.)com|net|cn|edu$/
         //要求输入有效的年龄段
         var r_age=/^d{1,2}$/
        //if(age>=18&&age<=100)
         //验证手机号:11位  13 15 18开头
         var r_tel=/^1[3,5,8]d{9}$/
       //验证身份证号  18位或者17位加一个X
        var r_s=/^d{18}|d{17}x$/i
       //验证中文
        var reg=/^[u4e00-u9fa5]{2,17}$/
     4>php正则表达:
    php验证正则表达的函数  preg_match();
    $reg="/^d{6}$/";
    $str="123456";
    if(preg_match($reg,$str)){
        echo "ok";
    }else{
        echo "no";
    }
            声明方式:$变量名=”/^正则表达式$/”;   //与js正则唯一的不同处就是表达式要加“”
     $reg="/^[x{4e00}-x{9fa5}]+$/u";    //中文表达式
七, cookie和session的使用:
         1> Cookie的使用步骤:
        1)设置cookie:setcookie(‘cookie的名字’,’cookie的值’,过期时间)
        2)读取cookie:$_COOKIE[‘cookie的名字’]
        3)删除cookie:
            setcookie(“要删除的cookie的名字”,””,time()-1)
            浏览器手动删除
        4)Cookie的分类:
                         分为会话cookie和持久cookie,会话cookie就是没有给cookie设置过期时间,
    当关闭浏览器或者关闭电脑cookie就会自动消失;持久cookie就是给cookie设置了过期时间,
    只要过期时间没到,关闭浏览器和关闭电脑cookie都不会消失,只有过期时间到了才会消失。
    2>session的使用:
         1)开启session:session_start(); 此函数前面不能有任何输出
             2)给session赋值:$_SESSION[‘名’]=值
             3)使用session:$变量名=$_SESSION[‘名’]
         4)删除session:
              删除单个session:unset($_SESSION[‘名’])
                删除多个session:$_SESSON=array();
                 结束当前所有session:session_destroy()
        5)session工作原理
             Session的定义:session是一种存储服务器端用来跟踪和识别用户信息的会话机制。
             当启动一个session会话时,会生成一个随机且唯一的session_id,也就是session文件名,此时,
                                    session_id存储在本地的cookie里。当关闭页面时此id会自动注销,重新登录此页面,会再次生成一个随机的id。
                   6)理解session和cookie的区别
               区别:session存储在服务器端,cookie存储在客户端,session相对于安全,cookie不安全,session和
            cookie都可以设置过期时间,都可以跨页面传值,都可以实现会话功能。Session开启后,有一个sessionid存储在
            cookie里,如果客户端禁止了cookie,sessionid以url地址栏的方式进行传输。
    3>运用session或cookie实现用户登录的会话控制
           Cookie实现登陆控制:setcookie(“名”,”值”,”过期时间”),设置完成后,在每一个登陆后才能访问的页面加入:
            if(empty($_COOKIE[‘名’])){ die(“未登录,不能操作!”)},如果用户选择了七天免登陆,在登陆界面加入:
                    if(!empty($_COOKIE[‘名’])){ header(“跳转”)}
        Session实现登陆控制:session_set_cookie_params(1*60);session_start();  $_SESSION[‘名’]=值;,设置完成后,
         在每一个登陆后才能访问的页面加入:if(empty($_SESSION[‘名’])){ die(“未登录,不能操作!”)},如果用户选择了七天免登陆,
        在登陆界面加入:if(!empty($_SESSION[‘名’])){ header(“跳转”)}
八:上传下载
    1》上传:Move_uploaded_file():将上传文件移动到指定的位置,如果成功则返回true,否则返回false
    2》下载: <a href='dowload.php?path=该文件所在的位置'>下载</a>
           Dowload.php
           <?php
    //接收文件路径
    $path = $_GET['path'];
    //文件类型
    header('Content-type: image/jpeg');
    //激活一个下载的窗口  (文件名)
    header("Content-Disposition: attachment; filename=$filename");
    //读文件
    readfile($path);