IE色彩处理过程
时间:2007-02-17 来源:PHP爱好者
Internet Explorer 是怎样处理不合法的颜色代码的呢?
嘿嘿,看看小狗给我们做的演示吧:
IE色彩处理过程
<input id=test value='blueidea'><input type=button value=ok onclick=alert(colVal(test.value))><script>function colVal(str){var clen, cstr = rgbstr = ""// 将无效字符转成"0"str = str.replace(/[^0-9a-f]/g, "0")// 如果字符串不满3位或6位,字符串在后面补"0"while(str.length != 3 && str.length <6) str += "0"// 将3位色彩值,转为6位色彩值if (str.length == 3) str = str.replace(/(.)/g, "0$1")// 取表示RGB字符串的长度clen = Math.ceil(str.length/3)// 如果RGB字符串长度大于2,进行去位处理if (clen > 2){for (var i=0; i<3; i++){// 取得表示Red、Green 或 Blue的字符串rgbstr = str.substr(i*clen, clen)// 取RGB字符串的后8位的前2位cstr += rgbstr.substr(clen-8, 2)}str = cstr}return str}</script>
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行] (出处:蓝色理想)
非常全面的一个php技术网站,php爱好者站 http://www.phpfans.net 有相当丰富的文章和源代码.
嘿嘿,看看小狗给我们做的演示吧:
IE色彩处理过程
<input id=test value='blueidea'><input type=button value=ok onclick=alert(colVal(test.value))><script>function colVal(str){var clen, cstr = rgbstr = ""// 将无效字符转成"0"str = str.replace(/[^0-9a-f]/g, "0")// 如果字符串不满3位或6位,字符串在后面补"0"while(str.length != 3 && str.length <6) str += "0"// 将3位色彩值,转为6位色彩值if (str.length == 3) str = str.replace(/(.)/g, "0$1")// 取表示RGB字符串的长度clen = Math.ceil(str.length/3)// 如果RGB字符串长度大于2,进行去位处理if (clen > 2){for (var i=0; i<3; i++){// 取得表示Red、Green 或 Blue的字符串rgbstr = str.substr(i*clen, clen)// 取RGB字符串的后8位的前2位cstr += rgbstr.substr(clen-8, 2)}str = cstr}return str}</script>
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行] (出处:蓝色理想)
非常全面的一个php技术网站,php爱好者站 http://www.phpfans.net 有相当丰富的文章和源代码.
相关阅读 更多 +