• 首页
  • 小学语文
  • 中学语文
  • 中学英语
  • 免费论文
  • 教学随笔
  • 学生作文
  • 综合考试
  • 试题教案
  • 育儿话题
  • 教学资源
  • 编程技术
  • 博客
  • 判断输入字符串为颜色类型的最优方法

    日期:2003-03-04  地址:  作者:

    一般情况下 如果我们判断一个给定字符串是否为颜色类型

    需要考虑它是 16进制代码(如 #ffffff) 或系统内部定义字符串(如buttonface、red、blue等) 或者是rgb()形式

    如果我们依次去判断它的格式是否符合标准 那将相当的花费时间和代码工作

    我在应用中发现了一个非常简单并且有效的办法

    就是通过document.createElement()创建一个元素 将需判断的字符串写到这个标签内

    如 var oSpan = document.createElement("<span style='color:"+strColor+";'></span>");

    然后判断oSpan.style.color是否为空 是则该字符串strColor 就是非法颜色值 否则合法

    以下是例子

    <input type="text" id="oColor">
    <br><br>
    <input type="button" value=" 检查颜色代码 "onclick="display_Check(oColor.value)">

    <script language="javascript">
    <!--
    function inspect_Color(strColor)
    {
     var oSpan = document.createElement("<span style='color:"+strColor+";'></span>");
     if(oSpan.style.color != "")
     {
      return true;
     }
     else
     {
      return false;
     }
     oSpan = null;
    }

    function display_Check(strColor)
    {
     if(inspect_Color(strColor))
     {
      alert(strColor + " 是有效的颜色值");
     }
     else
     {
      alert(strColor + " 无效");
     }

    }
    //-->
    </script>

    可是输入 类似 #fffabf , red, rgb(100,100,100) 等测试

    是不是很方便啊 ^_^

    需要注意的地方

    1 不能在创建完span后再去设置它的颜色。如果颜色字符串无效 那么程序将报错

    2 测试时我发现 "aaa","bbb","ccc","ddd","eee","fff"都是有效的颜色值,但他们显示的颜色都是黑色 搞不懂 :(

     

    对 判断输入字符串为颜色类型的最优方法 文章的评论    [查看网友评论]

    验证码:
    匿名发表: