Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何删除“#&引用;从javascript中使用正则表达式的颜色代码?_Javascript_Regex - Fatal编程技术网

如何删除“#&引用;从javascript中使用正则表达式的颜色代码?

如何删除“#&引用;从javascript中使用正则表达式的颜色代码?,javascript,regex,Javascript,Regex,我想在javascript中使用正则表达式从颜色代码中删除“#”字符。我试过一个,但我的脚本不起作用。。。请一些人看一下并更正我的代码 <html> <script> var input = "#a478ff"; var color = input.match(/([a-f]|[A-F]|[0-9])\b*/gi); alert(color); </script> </html> var输入

我想在javascript中使用正则表达式从颜色代码中删除“#”字符。我试过一个,但我的脚本不起作用。。。请一些人看一下并更正我的代码

<html>
    <script>
      var input = "#a478ff";
      var color = input.match(/([a-f]|[A-F]|[0-9])\b*/gi);
      alert(color);
    </script>

</html>

var输入=“#a478ff”;
var color=input.match(/([a-f]|[a-f]|[0-9])\b*/gi);
警报(颜色);

谢谢。

不需要正则表达式,只需使用
replace()

或者可以使用子字符串:

var input = "#a478ff";
var color = input.substring(1);

对于那些可能不存在
#
的情况,
替换()
方法更可靠,因为
子字符串()
将始终“删除”第一个字符;而
replace()
将只替换它找到的内容。

但是如果您确实想要一个regexp,下面是正确的:

var color = input.match(/[A-F0-9]*\b/i);
if (color) { alert(color[0]) };

如果你知道它在那里,为什么不直接使用子字符串呢?或者,你是在试图抓住可能不存在的案例吗?我想我真的不明白为什么需要正则表达式。出于好奇,您如何指定它必须匹配3或6个字符的字符串?我知道如何指定范围(
{3,6}
),但不仅仅是3或6=/如果输入是“#123456789”,为什么不呢?他只是想跳过“#”这个词。因为它不是一个有效的十六进制色码(承认这不构成问题的一部分,但即便如此,我认为它还是相当重要的?
/\b((?:[a-f0-9]{3}){1,2})\b/
将匹配3或6个十六进制数字谢谢!和一个衷心的加一!=)我更喜欢
.slice()
四个字符以下;-)
var color = input.match(/[A-F0-9]*\b/i);
if (color) { alert(color[0]) };