正则表达式
来源:互联网 发布:企业网站关键词优化 编辑:程序博客网 时间:2024/06/07 01:20
正则表达式
防止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、1cvar 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('不匹配'); } });})
正则匹配中需要使用转义符号的:
^ 匹配输入字符串的开始位置,除非在方括号表达式中使用,此时它表示不接受该字符集合。要匹配 ^ 字符本身,请使用 \^。$ 匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 '\n' 或 '\r'。要匹配 $ 字符本身,请使用 \$。. 匹配除换行符 \n 之外的任何单字符。要匹配 .,请使用 \。\ 将下一个字符标记为或特殊字符、或原义字符、或后向引用、或八进制转义符。例如, 'n' 匹配字符 'n'。'\n' 匹配换行符。序列 '\\' 匹配 "\",而 '\(' 则匹配 "("。| 指明两项之间的一个选择。要匹配 |,请使用 \|。{ 标记限定符表达式的开始。要匹配 {,请使用 \{。[ 标记一个中括号表达式的开始。要匹配 [,请使用 \[。( 和 ) 标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 \( 和 \)。* 匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 \*。+ 匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 \+。? 匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。要匹配 ? 字符,请使用 \?
0 0
- 【正则表达式】正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 自定义LayoutManager的详解及其使用
- hadoop----eclipse导入hadoop源码
- 欢迎使用CSDN-markdown编辑器
- app接口开发整理(1)
- Redis并发性能测试
- 正则表达式
- 涂涂乐的详细实现之二--UI布局和效果
- 16.js的执行环境和作用域
- Hadoop-2.7.0 源码导入
- 本地提交SVN报错 提交文件 is not known to exist in the repository and is not part of the commit, yet its child
- 程序员几大不能去
- opencv 2.4.9 无法读取视频的解决办法
- OpenResty安装(高性能web服务器)
- ssm、ssh 出现 java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.T