Javascript 检查字符串的某一部分是否包含子字符串

Javascript 检查字符串的某一部分是否包含子字符串,javascript,string,Javascript,String,我想检查字符串的某个部分是否包含子字符串 这是我目前的代码: var sHexValue = document.getElementById("ColourInput").value; fnDebugMessage(sHexValue); if (sHexValue.includes("#", 0)) { fnDebugMessage("TRUE"); } 因此,当前它检查colorInput是否包含字符串中0位置的#,但是我想限制它,因此它只检查colorInput的第一个字符 我该怎

我想检查字符串的某个部分是否包含子字符串

这是我目前的代码:

var sHexValue = document.getElementById("ColourInput").value;
fnDebugMessage(sHexValue);

if (sHexValue.includes("#", 0)) {
  fnDebugMessage("TRUE");
}
因此,当前它检查
colorInput
是否包含字符串中
0
位置的
#
,但是我想限制它,因此它只检查
colorInput
的第一个字符

我该怎么做?
感谢您提供的任何帮助

使用此选项获取第一个元素:

 document.getElementById("ColourInput").value.charAt(0) === "#"
如果我理解正确,这将只检查值的第一个字符,如果它是您正在查找的“#”。

请尝试regexp

/^#/.test(sHexValue)
对于全十六进制颜色,请使用此

/^#[A-Fa-f0-9]{6}$/
函数检查(){
设sHexValue=document.getElementById(“colorInput”).value;
let msg=“不包含:#”;
如果(/^#/.test(sHexValue))msg=“contains:#”;
控制台日志(msg);
if(/^#[A-Fa-f0-9]{6}$/.test(sHexValue))console.log(“Color:”);
}

另一种方法是,检查“#”字符的索引是否为0。当我们检查第0个索引时,这将适用于多个#字符的情况

 document.getElementById("ColourInput").value.indexOf('#') === 0
交替使用


使用此代码检查字符串中字符的索引是否为0

sHexValue.indexOf("#") === 0
注意:IE浏览器中可能不支持includes()方法。所以,只要用这个方法检查一下,然后让我知道你是否需要面对这个问题。
谢谢

因此,您想检查
sHexValue
中的第一个字符是否为
#
?您可以这样做:
sHexValue[0]==“#”
如果是这种情况,您可以以类似于数组的方式检查字符串中的字符。也就是说,
sHexValue[0]='#'
?和可能重复,但您只想检查第一个字符?这将在#位置返回true。哦,好的,我不知道实际上有一个命令来检查字符串是否以字符开头
sHexValue.indexOf("#") === 0