JS正则

正则表达式:用单个字符串描述或者匹配符合特定语句规则的字符串
一些字符序列组合在一起,可以简单也可以复杂模式的,可以去搜索,可以去替换

语法:/表达式/修饰符(可选)
var para=/icq/I;   //不区分大小写

使用search(  ),replace(   )   去和正则表达式结合使用。

var str="I'm a Hacker";
var n=str.search(/hacker/i); //匹配的字符串的索引值

修饰符:i忽略大小写   g全局匹配(查找所有的匹配)   m多行匹配

正则表达式中常用的模式

[abc]匹配adc中任意一个字符

[0-9]匹配0-9之间任意一个数字

(x|y)查找任意以|分割的选项

元字符:有特殊含义的字符

\d   表示数字

\s   空白字符

\b   匹配单词边界

\uXXXX  uincode字符 X是十六进制的

量词:

n+ 至少匹配一个n

n* 匹配0个或多个n

n? 匹配0个或一个n

var pa=new RegExp(); //该对象定义属性和方式的正则表达式

test()它是正则表达式的方法 var para=”/test/i”;para.test(完整的原始的字符),检测字符串中是否有我们想要的结果,如果找到返回true,找不到返回flace,test()和new RegExp()结合去使用。

<script type="text/javascript">

var pa=new RegExp("o");//实例化的过程、new对象的过程

document.write( pa.test("test i pentest"));

</script>

exec()该函数返回一个数组,其中存放匹配的结果(第一个)

JS错误处理

try{

//异常的抛出,可能要出问题的代码,写在这里

}catch(e){

//异常的处理,针对跑出来的问题,需要怎么处理,对应

的代码写在这里

}finally{

//结束处理,不管是否异常,或者异常怎么处理,此处代码均要执行

}

<meta charset="utf-8">

<script type="text/javascript">

var txt="";

function message(){

try{

adddlert("welcome!!");

}

catch(e){

txt='有错误。 \n\n';

txt+='描述:'+e.message+'\n\n';

txt+="点击确定。 \n\n";

alert(txt);

}

}

</script>

<input type="button" name="bu" value="点我" onclick="message()">

throw 语句允许我们创建自定义错误

throw 自定义的异常信息

注意:catch(e){}中的e就是用户自定义的错误,不需要使用e.message

JS操作表单

var date=document.forms["myform"]["myname"].value;

//获取名称为myform的表单,然后操作名称为myname的输入框

用JS写一个文件,页面有可视的图片,单机之后被劫持到其他网站

<body>
<img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1568885634487&di=2e24ecd15d69cf946c736a2a0d9e6f5c&imgtype=0&src=http%3A%2F%2Fphotocdn.sohu.com%2F20160206%2Fmp58277588_1454729539175_1_th.jpeg" height="100" width="200"> <a href="http://www.baidu.com" target="_blank" style="position: absolute; z-index: 2147483647; top:13.3333px; left:0px; cursor:default; opacity:0; display:block !important;">
<div style="width: 980px; height: 1151px;"></div>
</a>
</body>

JS正则和点击劫持代码(第十二天 9.27)的更多相关文章

  1. JS 正则查找与替换

    JS正则查找与替换 一.前提/背景 今天遇到个问题,需要替换字符串中部分字符,这些字符相对整个字符串而言,与其他子字符串类似,无法单独提出:重要的是,该字符串是动态的生成的,就像我们日常看到的网页Ur ...

  2. 网页中嵌入可以点击“运行代码”执行html/css/js代码

    html代码 <textarea name="textarea" cols="60" rows="10" id="rn01& ...

  3. js正则实现从一段复杂html代码字符串中匹配并处理特定信息

    js正则实现从一段复杂html代码字符串中匹配并处理特定信息 问题: 现在要从一个复杂的html代码字符串(包含各种html标签,数字.中文等信息)中找到某一段特别的信息(被一对“|”包裹着),并对他 ...

  4. Js 正则限制只能输入数字或中文的代码

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. 撸一个JS正则小工具

    写完正则在浏览器上检测自己写得对不对实在是不方便,于是就撸了一个JS正则小demo出来. demo demo展示 项目地址 代码部分 首先把布局样式先写好. <!DOCTYPE html> ...

  6. XSS学习笔记(一个)-点击劫持

    所谓XSS这个场景被触发XSS地方,在大多数情况下,攻击者被嵌入在网页中(问题)该恶意脚本(Cross site Scripting),这里的攻击始终触发浏览器端,攻击的者的目的.一般都是获取用户的C ...

  7. 点击劫持漏洞之理解 python打造一个挖掘点击劫持漏洞的脚本

    前言: 放假了,上个星期刚刚学习完点击劫持漏洞.没来的及写笔记,今天放学总结了一下 并写了一个检测点击劫持的脚本.点击劫持脚本说一下哈.= =原本是打算把网站源码 中的js也爬出来将一些防御的代码匹配 ...

  8. Cookie中设置了 HttpOnly,Secure 属性,有效的防止XSS攻击,X-Frame-Options 响应头避免点击劫持

    属性介绍: 1) secure属性当设置为true时,表示创建的 Cookie 会被以安全的形式向服务器传输(ssl),即 只能在 HTTPS 连接中被浏览器传递到服务器端进行会话验证, 如果是 HT ...

  9. 点击劫持漏洞解决( Clickjacking: X-Frame-Options header missing)

    点击劫持漏洞 X-Frame-Options HTTP 响应头, 可以指示浏览器是否应该加载一个 iframe 中的页面. 网站可以通过设置 X-Frame-Options 阻止站点内的页面被其他页面 ...

随机推荐

  1. c++实现线性表中的顺序表(数据结构课程作业)

    一.题目简介 实现顺序表的创建.初始化.赋值.插入.删除.按数据查找元素位置.按元素位置查找数据.清空.删除 的操作,以上操作用可用菜单选项完成 二.源程序代码 #include<iostrea ...

  2. 新闻网大数据实时分析可视化系统项目——11、MySQL安装

    1.修改yum源 鉴于用国外的Yum源,速度比较慢,所以想到将国外的yum源改为国内的Yum源,这里选择使用比较多的阿里云源.具体修改方法可以参考此连接 2.在线安装mysql 通过yum在线mysq ...

  3. spring事务代码实践

    事务一般是指数据库事务,是指作为一个程序执行单元执行的一系列操作,要么完全执行,要么完全不执行.事务就是判断以结果为导向的标准. 一.spring的特性(ACID) (1).原子性(atomicity ...

  4. Python dir和vars的区别

    dir()和vars()的区别就是 dir()只打印属性(属性,属性......) 而vars()则打印属性与属性的值(属性:属性值......) ex. >> a='aaaaaaaaaa ...

  5. WCF 学习

    https://www.cnblogs.com/iamlilinfeng/archive/2012/09/25/2700049.html using System.ServiceModel; name ...

  6. oracle通用帮助类

    需要的dll( EntityFramework.6.0.0Oracle.ManagedDataAccess.12.1.2400System.Configuration.dllEmitMapper.1. ...

  7. wincc的服务器-客户机模式具体做法(全抄-未测试)

    一.原来的工作方式:在同一工作组中4台计算机其windows名分别为A.B.C.D且都已安装好wincc5.0+sp2,原来在每台计算机上运行的均是单用户,4台计算机上实际运行的是一个相同的项目,最先 ...

  8. NIO组件Channel

    基本介绍 NIO的通道类似于流, 但有些区别: 通道可以同时进行读写, 而流只能读或者只能写 通道可以实现异步读写数据 通道可以从缓冲区(Buffer)读数据, 也可以写数据到缓冲区 BIO中的str ...

  9. python用于web题里写解密脚本

    题源自bugku里的WEB3 选择选项让他停止,F12后出现如下代码,一看数字就知道是ASC: 复制出来,写pyhton脚本如下,在编译器里跑一下 s='KEY{J2sa42ahJK-HS11III} ...

  10. Good Bye 2019

    A.Card Game 题目大意:两个人都有共有n张卡牌,每张卡牌上都有一个数xi,没有两张牌上的数相同,且xi不小于1不大于n.每次两个人选出一张牌来,牌上数字大的人赢得此局,如果谁最后手上拥有所有 ...