正则表达式
正则表达式防止SQL注入和防止XPATH注入 都是 输入一些恶意字符串,对网站进行攻击。 条件1:会使用正则表达式 语法: ^ 开始 $ 结束 {} [] (|) “?”元字符规定其前导对象必须在目标对象中连续出现零次或一次 [ ]? 表示这个空格出现0次或者1次
正则表达式 test: 判断字符串是否存在指定模式,返回值是bollean exec: 查找并且返回一个结果数组,
查找并且返回当前的匹配结果, 并且以数组的形式返回 exec 方法受参数 g 的影响。若指定了 g,则下次调用 exec 时,会从上个匹配的 lastIndex 开始查找。 var str ="1a1b1c"; var reg =new RegExp("1.",""); alert(reg.exec(str)[0]); alert(reg.exec(str)[0]); 上述两个输出都是 1a。现在再看看指定参数 g: var str ="1a1b1c"; var reg =new RegExp("1.","g"); alert(reg.exec(str)[0]); alert(reg.exec(str)[0]);
上述第一个输出 1a,第二个输出 1b。 match : 是string 对象的一个方法
正则表达式参数: g:代表可以进行全局匹配。 i:代表不区分大小写匹配。 m:代表可以进行多行匹配。 var str ="1a1b1c"; var reg =new RegExp("1.",""); alert(str.match(reg)); match 这个方法有点像 exec,但:exec 是 RegExp 对象的方法;math 是 String 对象的方法。二者还有一个不同点,就是对参数 g 的解释。 如果指定了参数 g,那么match 一次返回所有的结果。 var str ="1a1b1c"; var reg =new RegExp("1.","g"); alert(str.match(reg)); //alert(str.match(reg)); // 此句同上句的结果是一样的 此结果为一个数组,有三个元素,分别是:1a、1b、1c var pattern = new RegExp( 表达式,参数) 表达式/ / 参数 g i m
HTML页面: <html> <head> <title>Demo Example</title> <script type="text/javascript" src="jquery-1.12.0.min.js"></script> <script type="text/javascript" src="jx.core.js"></script> <!--<script type="text/javascript" src="jc.util.js"></script>--> <script type="text/javascript" src="demo.js"></script> <link rel="stylesheet" type="text/css" href="demo.css"/> </head> <body> <!--<input id="demo" value=""></input> <input id="btn" type="button" value ="点击"></input>--> <!--<table id="demotable" border="1"> <tr> <td>Row1 cell1</td> <td>Row1 cell2</td> <td>Row1 cell3</td> </tr> <tr> <td>Row2 cell1</td> <td>Row2 cell2</td> <td>Row2 cell3</td> </tr> </table>--> <tr> <th width="100px"><font color="red">*</font>登录名:</th> <td> <input id="input" type="text" class="ui-input" name="loginID" dataType="English" minLength="2" maxLength="50"/> <span class="tip">请输入2-50位英文字母作为登录名,不能重复</span> </td> </tr> <input id="btn" type="button"value="点击"/> <!--<li><span title="点击">点击</span></li>--> </body> </html> JS代码: (function(){ $('#btn').click(function(){ var pattern = /^[0-9]{1,}[a-z]{1}[0-9]{1,}$/i; var str = '12a0000'; console.log(pattern.test(str)); if(pattern.test(str)){ alert('匹配'); }else{ alert('不匹配'); } }); }) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |