一 正则表达式的正文。
正则表达式中使用了特殊符号。下面我就将各种符号以及其意义和用法简单的介绍一下(说明:\"X以上包括X\"):
/ 表示在其后的文字是特殊符号。例:\"n\"和\"n\"是一致的。\"/n\"和换行符是一致的。
^ 和输入的开始一致。
$ 和输入的结尾一致。
* 与此符号之前的文字0次以上相同的话,两者一致。例:\"zo*\"和\"zoo\",\"z\"都一致。
+ 与此符号之前的文字1次以上相同的话,两者一致。例:\"zo*\"和\"zoo\"一致,但和\"z\"不一致。
? 与此符号之前的文字0次或1次相同的话,两者一致。例:\"a?ve?\"和\"never\"的\"ve\"一致。
. 与除了换行符的所有单一文字一致。
(正则表达式) 以所指定的表达式寻找一致文字。如果找到了,储存下来。一致的部分可以从
Match方法获得的阵列中找到。
x|y x和y的任意一方相同都会被认为一致。例:\"(z|f)ood\"和\"zood\",\"food\"都一致。
{n} n是0以上的整数。与其前的文字n次相同的话,两者一致。例:\"o{2}\"和\"Bob\"中的\"o\"不一
致,与\"foooood\"中的前两个\"o\"一致。
{n,} n是0以上的整数。与其之前的文字至少n次相同才一致。
{n,m} 两者整数。n至m范围的次数一致。
[xyz] 与中括号中的文字任意一个相同都被认为一致。
[^xyz] 与上面的相反。
[a-z] 文字的范围,从\"a\"到\"z\"的文字都被认为一致。
[^a-z] 与上面的相反。
/b 表示单词的末尾。例:\"er/b\"和\"never\"的\"er\"一致,但和\"verb\"的\"er\"不一致。
/B 表示非单词的末尾。
/d 表示数字。
/D 表示非数字。
/s 表示空格。
/S 表示非空格。
/w 表示所有字母数字。
/W 表示非所有字母数字。
i (忽略大小写)
g (全文查找出现的所有 pattern)
gi (全文查找、忽略大小写)
/num num应该被赋予一个正数。与已经储存的部分比较。例:\"(.)/1\"和任意的两个连续的相同
文字一致。
二 如何定义一句正文:
方法一:直接写
var s=/正则表达式/i或g或ig
方法二:建立对象实例:
var s=new RegExp(正则表达式,i或g或ig)
三 与正则表达式有关的方法:
1 exec方法
描述: 在制定的文字行内进行搜索。
结构: 正则表达式.exec(字符串)。
解说: 检索的返回:
null 没有检索到;
一致的结果 检索到后;
例:
代码片段如下:
<script>
var s=\'AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp\'
var r=new RegExp(\'g\',\'i\');
var a=r.exec(s);
alert(a);
</script>
2 compile方法:
描述: 修改正则表现的内部形式。
结构: 正则表达.compile(\'正文\',\'g或i或ig\')。
解说: 没什么好说的。
例:
代码片段如下:
<script>
var s=\'AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp\'
var r=new RegExp(\'[A-Z]\',\'g\');
var a=s.match(r);
alert(a);
r.compile(\'[a-z]\',\'g\');
var a=s.match(r);
alert(a);
</script>
3 test方法:
描述: 顾名思义,做测验。
结构: 正则表达.test(字符串)。
解说: 返回:
false 没找到;
true 找到了;
例:
代码片段如下:
<script>
var re=/re/g;
var msg=\'return\';
var msg1=\'goon\';
alert(re.test(msg));
alert(re.test(msg1));
</script>
4 replace方法:
描述: 寻找一致的并置换他。
结构: 字符串.replace(正则表达,替换字符串)。
解说: 与字符串不变化,返回其副本。
例:
代码片段如下:
<script>
var s=\'AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp\'
var r=new RegExp(\'[A-Z]\',\'g\');
var a=s.replace(/[a-z]/g,\'A\');
alert(a);
</script>
5 match方法:
描述: 实行检索。
结构: 字符串.match(正则表达)。
解说: 返回数列。
例:
代码片段如下:
<script>
var re=/re/g;
var msg=\'rererere\';
var msg1=\'goon\';
alert(msg.match(re));
alert(msg1.match(re));
</script>
6 split方法:
描述: 分割字符串。
结构: 字符串.split(正则表达)。
解说: 返回数列。
例:
代码片段如下:
<script>
var s=\"hello this good world\";
var p=//s/g;
var a=s.split(p);
alert(a);
</script>
7 search方法:
描述: 返回一致的字符串的位置。(这比indexOf可用途广多了!)
结构: 字符串.search(正则表达)。
解说: 返回
正整数 如果找到了
-1 如果没找到
例:
代码片段如下:
<script>
var s=\"hello this good world\";
var p=/good/g;
var a=s.search(p);
alert(a);
</script>
把replace的方法的例子改一下:
代码片段如下:
<script>
var s=\"hellOSCF\";
var r=new RegExp(\"[A-Z]\",\"g\");
s=s.replace(r,\"a\");
alert(s)
</script>
最后是他的各种属性
1 lastIndex属性:
描述: 设定检索开始的位置,可以得到其值
结构: 正则表达.lastIndex(=值).
解说:
当lastIndex大于检索文字长度的时候,如果用test,exec方法执行的话,执行失败,
lastIndex属性被设定为0.
当lastIndex等于检索文字长度的时候,如果表达式正文是空的话,一致.其他场合,
执行失败,重设为0.
上记以外的情况,lastIndex会被设定为最后一致的文字列的位置指针.
2 source属性
描述: 返回正则表达的正文
结构: 正则表达.source
例:
代码片段如下:
<script>
var s=/[a-z]{3}/W/s/g;
var s1=new RegExp(\"[a-z]{3}/W\",\"g\");
alert(s.source);
alert(s1.source);
</script>
下面我将几个处理字符函数写出来:
1 严禁数字
代码片段如下:
function check(msg){
var exe=//d/g;
if(exe.test(msg))return(0);
else return(1)
}
2 只准字母
代码片段如下:
function check(msg){
var exe=//W/g;
if(exe.test(msg))return(0);
else return(1);
}
3 严禁代码
代码片段如下:
function check(msg){
var exe=/<(/w|/W)*>/g;
if(exe.test(msg))return(0);
else return(1);
本文地址:https://www.stayed.cn/item/23941
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我