怎样判断字符串?

zhengtao 2003-07-15 01:43:29
怎样写一个函数判断如下格式的字符串:#xxxxxx,该字符串宽度要求7,后六个x是1-9的数字字符或a-z的26个字母.既符合16位的颜色设置格式。
...全文
53 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
h2high 2003-07-15
  • 打赏
  • 举报
回复
网页16位颜色方式 #xxxxxx、#xxx、xxxxxx、xxx 都可以,所以用:
/^#?([a-f]|[A-F]|[0-9]){3}(([a-f]|[A-F]|[0-9]){3})?$/

按楼主的意思可以用: /^#([a-f]|[A-F]|[0-9]){6}$/ 共7位长度

当然还可以根据自己要求设置啦 ^_^
紫郢剑侠 2003-07-15
  • 打赏
  • 举报
回复
收藏!
认真学习!
fzel_net 2003-07-15
  • 打赏
  • 举报
回复
/^#([a-f]|[A-F]|[0-9]){6}$/
zmy0611 2003-07-15
  • 打赏
  • 举报
回复
function Check(str)
{
var bErr, len;
bErr = false;
len = str.length;
if(len != 7 || str.substr(0,1)!='#')
{
bErr = true;
}
else
{
for(var i = 0; i < 6; i++)
{
if(CheckData(str.substr(i+1,1)))
{
bErr = true;
break;
}
}
}
return bErr;
}
function CheckData(s)
{
var bErr;
bErr = true;
var szArr = new Array('0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f');
for(var i = 0, len = szArr.length; i < len; i++)
{
if(s == szArr[i])
{
bErr = false;
break;
}
}
return bErr;
}
maconelxp 2003-07-15
  • 打赏
  • 举报
回复
function test()
{
var m=/^#([a-f]|[A-F]|[0-9]){6}$/;
if(!m.test(document.all('text').value))
alert("cuo");
}
</script>
maconelxp 2003-07-15
  • 打赏
  • 举报
回复
^#([a-f]|[A-F]|[0-9]){6}$
h2high 2003-07-15
  • 打赏
  • 举报
回复
<script language="JavaScript" type="text/JavaScript">
function iscolor(color){
var iColor=/^#?([a-f]|[A-F]|[0-9]){3}(([a-f]|[A-F]|[0-9]){3})?$/;
return iColor.test(color);
}
alert(iscolor("#fff"));
alert(iscolor("#aderdf"));
alert(iscolor("#cccccc"));
</script>
h2high 2003-07-15
  • 打赏
  • 举报
回复
检查颜色对不对?

用正则表达式吧:

^#?([a-f]|[A-F]|[0-9]){3}(([a-f]|[A-F]|[0-9]){3})?$
bubuy 2003-07-15
  • 打赏
  • 举报
回复
哈哈,对不起,正则式不太会写啊。
bubuy 2003-07-15
  • 打赏
  • 举报
回复
对了还要求长度嘛,改进一下。

function isColor(checkStr)
{
var checkOK = "#0123456789abcdef";
var allValid = true;
if (checkStr.length<1 || checkStr.length>7)
allValid=false;
for (i=0;i<checkStr.length;i++)
{
ch=checkStr.charAt(i);
for(j=0;j<checkOK.length;j++)
if(ch==checkOK.charAt(j))
break;
if(j==checkOK.length)
{
allValid = false;
break;
}
}
return allValid;
}
zhengtao 2003-07-15
  • 打赏
  • 举报
回复
有没有正则式的函数?
thk
bubuy 2003-07-15
  • 打赏
  • 举报
回复
我给你一个函数

function isColor(checkStr)
{
var checkOK = "#0123456789abcdef";
var allValid = true;
if (checkStr.length<1)
allValid=false;
for (i=0;i<checkStr.length;i++)
{
ch=checkStr.charAt(i);
for(j=0;j<checkOK.length;j++)
if(ch==checkOK.charAt(j))
break;
if(j==checkOK.length)
{
allValid = false;
break;
}
}
return allValid;
}
bubuy 2003-07-15
  • 打赏
  • 举报
回复
哈哈,可以用正则式,也可以写函数,
不过正则式要好的多

87,987

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧