zoukankan      html  css  js  c++  java
  • 前端开发补充之

    前端开发补充之-正则和插件
    1: JS正则表达式(常用于表单)

    定义正则表达式
    /.../ 用于定义正则表达式
    /.../g 全局匹配
    /.../i 不区分大小写
    /.../m 多行匹配
    多行匹配:
    默认就是多行匹配
    使用^$进行多行匹配时候使用m。

    只具有2个方法
    方法1:test - 判断字符串是否符合规定的正则

    rep = /d+/; 创建了正则表达式匹配数字
    rep.test('asdfesf89sdf') #包含数字即返回true
    输出:true
    rep = /^d+$/; 开头到结尾均为数字
    以上实例输出返回:false

    方法2:exec - 获取匹配的数据
    实例1:
    rep = /d+/;
    str = 'w_67_h_20'
    rep.exec(str)
    始终输出第一个数组:["67"]
    实例2:
    test = 'JavaScript is more fun than Java or JavaBeans!'
    var pattern = /Java(w*)/;#不用分组只输出头一个值,使用分组输出头一组数据。
    pattern.exec(test)
    分组的输出:['JavaScript','Script']
    var pattern = /Javaw*/g #使用g是全局匹配,输出类似迭代器,匹配完成后输出null,如果继续将会再次重新匹配
    未分组输出:第一个["JavaScript"],第二个['Java'],第三个['JavaBeans'] 第四个输出null
    var pattern = /Java(w*)/g #使用分组
    分组的输出:第一个["JavaScript","Script"],第二个['Java',""],第三个['JavaBeans',"Beans"] 第四个输出null

    默认事件先执行:checkbox # 当点击时候,先打对勾,然后才输出自定义的查看状态true或者false
    自定义先执行
    a #先执行自定义的函数,然后才进行URi的跳转
    submit

    表单验证:是为了减少数据库的请求,当然,如果游览器关闭的jsscript功能,最后还是的通过数据库进行验证。

    举例:js表单验证写法有以下几种,如下:

     1 flag = true;
     2 $(form).find(':text,:password').each(function(){
     3     var name = $(this).attr('name')
     4     var label = $(this).attr('label')
     5     var val = $(this).val()
     6     var $parent = $(this).parent()
     7     var required = $(this).attr('require')
     8     if(required){  # 如果为真,则必填
     9         if(!val||val.trim() == ''){
    10             flag = false;
    11             ErrorMessage($parent,label+'不能为空')
    12             return false;
    13         }
    14     }
    15     var number = $(this).attr('number')
    16     if(number){
    17         if(!$.isNumeric(number)){
    18             flag = false;
    19             ErrorMessage($parent,label+'必须为数字');
    20             return false;
    21         }
    22     }
    23     var mobile = $(this).attr('mobile')
    24     if(mobile){
    25         var reg = /^1[3|5|8]d{9}$/;
    26         if(!reg.test(val)){
    27             flag = false;
    28             ErrorMessage($parent,label+'格式错误');
    29             return false;
    30         }
    31     }
    32 })
    View Code

    2:前端插件模板
    插件有很多,如:bootstrap,JqueryUI,EasyUI,bxslider

    bootstrap (目前主流的模板,前台和后台通用),文件下载地址:v3.bootcss.com,包含:
    - css 放置的是样式。
    引入:<link rel="stylesheet" href="bootstrap-3.3.7-dist/css/bootstrap.min.css" />
    <link rel="stylesheet" href="bootstrap-3.3.7-dist/css/bootstrap-theme.css" /> 这个是加入了一些颜色
    - fonts 放置的是bootstraps图标,直接从v3.bootcss.com组件中审查元素查找代码,然后直接复制到页面内即可
    - js 放置的js文件,引入:<script src="bootstrap-3.3.7-dist/js/bootstrap.min.js" ></script>
    注意:当使用插件时候,如果要修改一个样式,css绝对生效在样式后加:!important;
    包含:
    1:响应式: @media
    2:图标,字体: @font-face 根据代码找到图标,直接从网站的元素审查里copy相应代码
    3:基本的使用
    实例:bootstrap实例

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Title</title>
     6     <style>
     7         .no-radus{
     8             /*使用!important 优先级最高*/
     9             border-radius: 0 !important;
    10         }
    11     </style>
    12   <link rel="stylesheet" href="bootstrap-3.3.7-dist/css/bootstrap.min.css" />
    13     <link rel="stylesheet" href="bootstrap-3.3.7-dist/css/bootstrap-theme.css" />
    14 
    15 </head>
    16 <body style="background-color:red">
    17 <nav class="navbar navbar-default no-radus">
    18   <div class="container-fluid">
    19     <!-- Brand and toggle get grouped for better mobile display -->
    20     <div class="navbar-header">
    21       <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
    22         <span class="sr-only">Toggle navigation</span>
    23         <span class="icon-bar"></span>
    24         <span class="icon-bar"></span>
    25         <span class="icon-bar"></span>
    26       </button>
    27       <a class="navbar-brand" href="#">Brand</a>
    28     </div>
    29 
    30     <!-- Collect the nav links, forms, and other content for toggling -->
    31     <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
    32       <ul class="nav navbar-nav">
    33         <li class="active"><a href="#">Link <span class="sr-only">(current)</span></a></li>
    34         <li><a href="#">Link</a></li>
    35         <li class="dropdown">
    36           <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <span class="caret"></span></a>
    37           <ul class="dropdown-menu">
    38             <li><a href="#">Action</a></li>
    39             <li><a href="#">Another action</a></li>
    40             <li><a href="#">Something else here</a></li>
    41             <li role="separator" class="divider"></li>
    42             <li><a href="#">Separated link</a></li>
    43             <li role="separator" class="divider"></li>
    44             <li><a href="#">One more separated link</a></li>
    45           </ul>
    46         </li>
    47       </ul>
    48       <form class="navbar-form navbar-left">
    49         <div class="form-group">
    50           <input type="text" class="form-control" placeholder="Search">
    51         </div>
    52         <button type="submit" class="btn btn-default">Submit</button>
    53       </form>
    54       <ul class="nav navbar-nav navbar-right">
    55         <li><a href="#">Link</a></li>
    56         <li class="dropdown">
    57           <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <span class="caret"></span></a>
    58           <ul class="dropdown-menu">
    59             <li><a href="#">Action</a></li>
    60             <li><a href="#">Another action</a></li>
    61             <li><a href="#">Something else here</a></li>
    62             <li role="separator" class="divider"></li>
    63             <li><a href="#">Separated link</a></li>
    64           </ul>
    65         </li>
    66       </ul>
    67     </div><!-- /.navbar-collapse -->
    68   </div><!-- /.container-fluid -->
    69 </nav>
    70 
    71 
    72 bootstrap图标
    73 <span class="glyphicon glyphicon-euro" aria-hidden="true"></span>
    74 
    75 <!-- Single button -->
    76 <div class="btn-group">
    77   <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    78     Action <span class="caret"></span>
    79   </button>
    80   <ul class="dropdown-menu">
    81     <li><a href="#">Action</a></li>
    82     <li><a href="#">Another action</a></li>
    83     <li><a href="#">Something else here</a></li>
    84     <li role="separator" class="divider"></li>
    85     <li><a href="#">Separated link</a></li>
    86   </ul>
    87 </div>
    88 
    89     <script src="jquery-1.12.4.min.js"></script>
    90     <script src="bootstrap-3.3.7-dist/js/bootstrap.min.js" ></script>
    91 </body>
    92 </html>
    View Code

    注意:bootstrap的js 依赖于jquery,所以使用前需要先倒入jquery

    JqueryUI,需要下载jqueryUi的包,(趋向后台管理),基本过时。
    EasyUI,需要下载包(趋向后台管理),基本过时。
    bxslider 也是一个插件。以下实现一个轮播图
    网站:http://bxslider.com/ 下载包文件
    轮播图实例:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <!-- jQuery library (served from Google) -->
    <script src="../jquery-1.12.4.min.js"></script>
    <!-- bxSlider Javascript file -->
    <script src="bxslider/jquery.bxslider.min.js"></script>
    <!-- bxSlider CSS file -->
    <link href="bxslider/jquery.bxslider.css" rel="stylesheet" />
    </head>
    <body>
    <ul class="bxslider">
      <li><img src="1.jpg" /></li>
      <li><img src="2.jpg" /></li>
      <li><img src="3.png" /></li>
      <li><img src="4.jpg" /></li>
    </ul>
    <script>
            $(document).ready(function(){
            $('.bxslider').bxSlider();
            });
    </script>
    </body>
    </html>
    View Code

    经验:写前端时候,有插件最好用插件,可以增加效率。

  • 相关阅读:
    使用node.js和socket.io实现多人聊天室
    linux上如何自动获取ip及连接互联网
    大数据 时间同步问题 解决hbase集群节点HRegionServer启动后自动关闭
    大数据环境完全分布式搭建hbase-0.96.2-hadoop2
    大数据环境完全分布式搭建 hadoop2.4.1
    大数据环境完全分布式搭建linux(centos)中安装zookeeper
    虚拟机中操作系统的克隆方法及ip修改及硬件地址修改
    在Windows系统下安装Beautiful Soup4的步骤和方法
    在eclipse中配置Python环境
    python3.4爬取网页的乱码问题
  • 原文地址:https://www.cnblogs.com/zy6103/p/7449557.html
Copyright © 2011-2022 走看看