JS正则和点击劫持代码(第十二天 9.27)

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   空白字符

   匹配单词边界

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='有错误。 

';

txt+='描述:'+e.message+'

';

txt+="点击确定。 

";

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=" 980px; height: 1151px;"></div>
</a>
</body>
原文地址:https://www.cnblogs.com/liujizhou/p/11600199.html