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. CSS元素和文本垂直居中

    div居中 1.使用绝对定位和负外边距让块级元素垂直居中 要点:必须提前知道被居中块级元素的尺寸,否则无法准确实现垂直居中. <div id="box"> <di ...

  2. nodejs(12)Express 中间件middleware

    中间件 客户端的请求到达服务器时,他的生命周期是:request -- 服务器端处理 -- 响应 在服务器端处理过程中,业务逻辑复杂时,为了便于开发维护,需要把处理的事情分成几步,这里每一步就是一个中 ...

  3. gitlab导入备份数据

    1.将南阳的gitlab 迁入到本地80虚拟机 由于本地ip地址没有固定,所以,是本地去拉取南阳的代码,虽然,之后固定了ip,但,由于只用一次这样的操作,所以,还是一直在做拉取而不是推送的工作 2.具 ...

  4. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 按钮:分割按钮

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  5. swoole之建立 http server

    一.代码部分 <?php /** * 传统:nginx <-> php-fpm(fast-cgi process manager) <-> php * swoole:ht ...

  6. 2.24 模拟赛 + DIV2 总结

    本来实在是不想打了,后来真的手痒. 晚上发现正进行DIV2然后就打了场,模拟,幸好没参加,逆风.排名2400 Codeforces Round #622 (Div. 2) A题十分钟过了 B题http ...

  7. Vue - 定义使用组件

    import Card from './components/Card.vue' Vue.component('m-card',Card)   // component是注册全局组件,在实例化VUE前 ...

  8. maven intall 命令用法

    作用:将自定义maven项目  打成maven依赖存放到本地库,我们可以在另一个项目pom文件中加入相应依赖,刷新mavne即可将其加入项目中使用 使用说明:win+R 打开命令窗口,将目录切换至项目 ...

  9. redis 模糊查询与删除

    创建一条数据 set  name1  zhangsan 查询 get name1 在创建一条数据 set name2 lisi 查询 get name2 模糊查询 keys name* 查询结果  n ...

  10. Google的搜索API的Delphi封装

    这个东西实现了已经有一段时间了,那个时候谷歌还没有退出中国内地呢!而现在呢,谷歌都退了有一些日子了!紧以此纪念一番! 话说谷歌API,我相信很多人应该都知道!不晓得在实际应用中,用的人多不多(我说的不 ...