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. ROS学习笔记8-rqt_console和roslaunch

    本教程来自于:http://wiki.ros.org/ROS/Tutorials/UsingRqtconsoleRoslaunch rqt_console 和 rqt_logger_level 是ro ...

  2. 关于AJAX跨域和原生AJAX CORS跨域解决

    项目需求要在别人的域名下调用自己的接口,因为浏览器的同源策略是不允许不同域名下之间的信息交换,那就意味着要跨域处理 参考博客 :https://blog.csdn.net/Ulricalin/arti ...

  3. 学成在线(第17天)用户认证 Zuul

    用户认证 用户认证流程分析 用户认证流程如下: 业务流程说明如下: 1.客户端请求认证服务进行认证.2.认证服务认证通过向浏览器cookie写入token(身份令牌)认证服务请求用户中心查询用户信息. ...

  4. log4j, common-logging, slf4j 关系

    最近因为项目原因,认真学习了一下 log4j 相关内容,主要是从网上找资料,以及追踪原代码.   关于如何使用,网上有很多资料,这里不做具体介绍.下面介绍一下这些工具的关系.   log4j 是最强大 ...

  5. 使用 CAS 在 Tomcat 中实现单点登录 http://www.ibm.com/developerworks/cn/opensource/os-cn-cas/

    developerWorks 中国 技术主题 Open source 文档库 使用 CAS 在 Tomcat 中实现单点登录 单点登录(Single Sign On , 简称 SSO )是目前比较流行 ...

  6. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 辅助类:关闭图标

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

  7. LoadRunner之Block

    如何在一个脚本中实现不同事务不同次数的循环呢? 案例:假如你想在一个脚本中,实现登录执行1次,查询执行2次,插入执行3次,怎么办?录3个脚本?每个事务分别在脚本中复制N次? 当然不用,LR早就想到了你 ...

  8. VUE - mapState 辅助函数(简化)

    1,第一种 <template>   <div id="app">     <p> {{count}} </p>     <p ...

  9. Git删除无效远程分支

    当远程分支删除的时候,本地同步下来的远程分支却不会删除,久而久之,本地积累了不少无效的远程分支.找了一下,可以用如下命令清除它们: git remote update -p

  10. vue数据变化后页面刷新

    在测试methods和conputed区别的时候,我在methods方法体内增加了一个vue数据自增语句,类似于this.abc++;导致整个页面无法加载出来. 原因是this.abc改变 会触发页面 ...