正则表达式_JS_常用1

来源:互联网 发布:达内 股票数据雪球 编辑:程序博客网 时间:2024/06/16 18:14

test:
<script type="text/javascript">
    //判断文件路径名是否合法:以.csv结尾(忽略大小写)
    var filename="abc.cSv";
    var csvPattern = /.*/.((c|C)(s|S)(v|V))$/;
    if(!csvPattern.test(filename))
    {
        alert("不是CSV文件");
    }
</script>

exec:
<script type="text/javascript">
    var u="http://msdn.microsoft.com:80/scripting/default.htm";
    var s=/(/w+):////([^/:]+)(:/d*)?([^# ]*)/;
    var a=s.exec(u);
    for(i=1;i<a.length;i++){
        alert(a[i]);
    }
    /*
      a[1] 包含 "http"
      a[2] 包含 "msdn.microsoft.com"
      a[3] 包含 ":80"
      a[4] 包含 "/scripting/default.htm"
     (也可以用RegExp.$1、RegExp.$2、RegExp.$3、RegExp.$4取值)
    */

    alert(a);
   
</script>

<script type="text/javascript">
    var str = "Visit W3School, study from W3School";
    var patt = new RegExp("W3School","g");
    var result;

    while ((result = patt.exec(str)) != null)  {
      alert(result);
      alert(result.lastIndex);//lastIndex为匹配元素最后一个字符的下一位置
    }
</script>

match:
<script type="text/javascript">
    var str="1 plus 2 equal 3";
    global = str.match(//d+/g);
    alert(global);
    /*
     *    1,2,3
    */

    local =  str.match(//d+/);
    alert(local);
    /*
     *    1
    */   
</script>

split:
<script type="text/javascript">
    var str="How are you doing today?";
    alert(str.split("//s+/"));
    alert(str.split(""));
    alert(str.split(" ",3));

    var words = str.split(//s+/);
    for(var i=0; i<words.length; i++){
        alert(words[i]);
    }
</script>

replace:
<script type="text/javascript">
    var name = "Doe, John";
    var pl = name.replace(/(/w+)/s*, /s*(/w+)/, "$2 $1");
    alert(pl);
    /*
     * John Doe
    */
</script>

<script type="text/javascript">
    var name = '"a", "b"';
    var pl = name.replace(/"([^"]*)"/g, "'$1'");//双引号变成单引号
    alert(pl);
    /*
     * 'a','b'
    */
</script>

<script type="text/javascript">
    var name = 'aaa bbb ccc';
    var uw=name.replace(//b/w+/b/g, function(word){//字符串中所有单词的首字母都转换为大写
        return word.substring(0,1).toUpperCase()+word.substring(1);}
    );
    /*
     * Aaa Bbb Ccc
    */
</script>

 

方法
exec(string): 对string进行正则处理,并返回匹配结果.
exec方法返回的数组有3个属性,分别是input、index和lastIndex 。
1 input 属性是整个被搜索的字符串。
2 index属性是指匹配在整个被搜索字符串中的位置。
3 lastIndex 属性是指匹配的子字符串的最后一个字符的下一个字符位置。

test(string): 测试string是否含有匹配结果

字符串对象中的正则
方法
match(pattern) :根据pattern进行正则匹配,如果匹配到,返回匹配结果,如匹配不到返回null
search(pattern) :根据pattern进行正则匹配,如果匹配到一个结果,则返回它的索引数;否则返回-1
replace(pattern,replacement) :根据pattern进行正则匹配,把匹配结果替换为replacement
split(pattern) :根据pattern进行正则分割,返回一个分割的数组


 

原创粉丝点击