Fdream's Blog
专注于WEB前端开发
Powered by Google
1

一段这样的JavaScript代码,猜猜结果如何?

参考代码: [复制代码] [保存代码]

var i = 0, m = 20, a = [], r = /^\d+$/g;
for(i = 0; i < m; i++){
    a.push('' + i);
}

m = a.length;
for(i = 0; i < m; i++){
    if(r.test(a[i])){
        document.write(a[i] + 'true<br />');
    }
    else{
        document.write(a[i] + 'false<br />');
    }
}

也许你期待的结果应该全是true,可是实际结果呢?true和false交替出现,0是true,1是false,2是true,3是false……是不是很怀疑?其实仔细看一下...

有些时候我偶们希望在正则表达式的替换中对替换的字符换进行简单的处理,比如把所有的A依次替换为B1、B2、B3……这就需在替换时对字符串进行处理,其实这个很简单,用C#中的MatchEvaluator委托就可以了。简单的示例如下:

引用内容:

private static int i = 0;

public static string ParseToHTML(string ubbString)

{

Regex rgx;

string htmlString = "";

MatchEvaluator me = new MatchEvaluator(AddOne);

rgx = new Regex(@"\

参考代码: [复制代码] [保存代码]
(.*?)\[\/code\]");

htmlString = rgx.Replace(htmlString, me);

return htmlString;

}

public static string AddOne(Match m)

{

string code = m.Value.Substring(6, m.Value.Length - 13);

string codeString = @"<textarea name='code" + i + "' class='code_text'>" + code + "</textarea></div><br />";

i++;

return codeString;

}

[/quote]

1
Copyright © 2005-2008,Fdream All Rights Reserved
Processed in 0.1718728 second(s) , unknow queries
Powered by OWord V0.1, Even Not Alpha
(此博客程序为半成品,请勿索取,以免给您的心灵造成创伤^_^)
鄂ICP备05026031号