zoukankan      html  css  js  c++  java
  • Python 学习第十八天 js 正则及其它前端知识

    一,js 正则表达式

      test 判断制度串是否符合规定的正则

      (1)定义正则表达式匹配规则

              js 中定义正则表达式为rep=/d+/,两个//之间为正则模式

      (2)rep.test("assdsda89sdasdas") ,返回true,一般test 方法为只要字符串中的包含正则模式即返回true

      (3)rep=/^d+$/完全匹配正则模式

        exec 获取匹配的数据

      1, (1)rep=/d+/;

        (2)str="wangshen_67_houyanfa_20"

        (3)rep.exec(str) 返回["67"]

      2,   js exec 分组匹配

    text="JavaScript is more fun than Java or JavaBeans!"
    var pattern = /Java(w*)/;                           
    pattern.exec(text)                              #返回 ["JavaScript", "Script"]
    

         3,js exec 全局匹配

    text="JavaScript is more fun than Java or JavaBeans!"
    var pattern = /Javaw*/g;
    pattern.exec(text)
    # ["JavaScript"]
    pattern.exec(text)
    # ["Java"]
    pattern.exec(text)
    # ["JavaBeans"]
    pattern.exec(text)
    # null
    pattern.exec(text)        #加g表示全局匹配,匹配一个输出一个,当全部匹配完成时输出null 再匹配从头开始
    

       4,js exec 全局加分组匹配

    JavaScript is more fun than Java or JavaBeans!
    var pattern = /Java(w*)/g;
    # ["JavaScript",'Script']
    # ["Java", ""]
    # ["JavaBeans", "Beans"]
    # null                                              #分组匹配会对匹配到的结果再进行一次匹配
    		 
    

     5,其它匹配模式

      (1)/.../i 不区分大小写

      (2)/.../m 表示多行匹配,js 中默认支持多行匹配,也就是单独加g也可以完成多行匹配,但是在匹配模式中^$,匹配多行时需要m参数

           例如

    text="JavaScript is more fun than 
      Java or JavaBeans!"
    var pattern = /Java(w*)/g;
    pattern.exec(text)                               #返回["JavaScript",'Script'] 也可以匹配成功,表示默认支持多行
    text="JavaScript is more fun than 
      Java or JavaBeans!"
    var pattern = /^Java(w*)/g;                     #匹配以Java开头的字符串,且后面为任意字符
    pattern.exec(text)                               #返回["JavaScript",'Script'] 
    pattern.exec(text)                               #返回null 
    
    var pattern = /^Java(w*)/gm; 
    pattern.exec(text)                                #返回["JavaScript",'Script'] 
    pattern.exec(text)                                #返回["Java",""]
    

     6,a标签绑定事件

    <a onclick='return Func();'>asdf</a>
    function Func(){
        return false:                                  #利用DOM绑定方式增加a标签事件
    }
    
    <a>asdf</a>
    $('a').click(function(){return false;})    #利用jquery方式绑定事件
    

     7,form 表单提交事件

    <form>		
    	<input type='text' />
    	<input type='password' />
    	<input type='submit' />		
    </form>
       
    $(':submit').click(function(){		
        $(':text,:password').each(function(){
    				...
    		return false;
    	})
    	return false;
    }) 
    

     8,标签定义事件执行顺序

      像a input submit 标签一般默认都为自定义事件先执行,checkbox 默认事件先执行

     9,css设置重要性

    <style>
        .no-radus{
         border-radius:0 !important;
    }
    </style>
    

     二,django

     1,django 设置静态文件路径

      在setting.py中最下面添加添加以下代码 

    STATIC_URL = '/static/'
    STATICFILES_DIRS = { os.path.join(BASE_DIR,'static'), }

     2,创建完django project 后的操作

    (1),配置模板的路径

    TEMPLATES = [
    				{
    					'BACKEND': 'django.template.backends.django.DjangoTemplates',
    					'DIRS': [os.path.join(BASE_DIR, 'templates')],
    					'APP_DIRS': True,
    					'OPTIONS': {
    						'context_processors': [
    							'django.template.context_processors.debug',
    							'django.template.context_processors.request',
    							'django.contrib.auth.context_processors.auth',
    							'django.contrib.messages.context_processors.messages',
    						],
    					},
    				},
    			]
    

    (2),配置静态文件的路径

    #在 setting.py 中添加
    STATICFILES_DIRS = (
    	os.path.join(BASE_DIR, 'static'),
    )
    #在html中添加
    <link rel="stylesheet" href="/static/commons.css" />
    		
    

     3,view.py获取用户提交的数据

    if request.method == "post":
    
        user = request.POST.get(‘user',None)
        pwd = request.POST.get('pwd',None)                #获取用户提交的数据中 即使不存在相应的值也不会报错
        
        user = request.POST['user']
        pwd = request.POST['pwd']                         #获取用户提交的数据。如果不存在就会报错
    

     4,view.py中函数处理重定向到其它网址

    from django.shortcuts import redirect    #导入模块
    
    return redirect('http://www.baidu.com')   #在view函数中添加,重定向到其它网站
     
    from django.shortcuts import render
    return render(request,'login.html') #找到本地的模板,打开html文件

     5,render 返回错误信息

      return render(request,'login.html',{'error_msg':error_msg})

     6,django 处理html模板for 循环与取某一个值

    {% for row in user_list %}
        <tr>    
            <td>{{ row.username }}</td>
            <td>{{ row.gender }}</td>
            <td>{{ row.email}}</td>
       </tr>
    { %endfor %}                                          #部分html代码
    
    def home(request):
        return render(request,'home.html',{'user_list': USER_LIST}}     #部分views.py代码
    

     7,css input 框中提示字设置

    <input type="text" name="username" placeholder="用户名" />

     8,django 已get方式获取值,需要在url中增加值
         例如:

    http://127.0.0.1:8009/home?nid=123&name=jack  #get方式请求
    
    #views函数中
    print(request.GET) 
    #返回
    <QueryDict:{'name':[alex],'nid':['123']}>      
    print(request.GET.get('nid'))
    #返回
    123       
    
  • 相关阅读:
    LearnMoreStudyLess《如何高效学习》斯科特.杨
    Asp.net 生成多个Excel打包zip进行下载(建立在Aspose.Cells.dll生成Excel,建立在ICSharpCode.SharpZipLib.dll打包zip)
    【面经】美团测试1,2,3面,一起来聊聊?
    【python】面试高频:浅拷贝 vs 深拷贝、'==' vs 'is'
    【图解Http 学习摘要】五、HTTPS 中的加密、证书介绍,不一直使用 HTTPS 的原因
    【图解Http 学习摘要】四、HTTP 缺点
    【图解Http 学习摘要】三、HTTP 协议基础、四次挥手
    【图解Http 学习摘要】二、IP,TCP 和 DNS、三次握手
    【图解Http 学习摘要】一、http介绍、TCP/IP 协议族
    【杂谈】关于常见架构的整理,单应用、微服务、SOA、分布式和集群
  • 原文地址:https://www.cnblogs.com/system-public/p/6132392.html
Copyright © 2011-2022 走看看