Javascript 如何检查字符串是否在特定索引/位置包含值?
我试图验证一个数字字符串,并希望检查字符串中的第一个数字是否为4。 我试过使用includes,但它从位置0开始检查,如果4出现在任何地方,我不希望它是真的。我想把它和第一个数字分开Javascript 如何检查字符串是否在特定索引/位置包含值?,javascript,html,Javascript,Html,我试图验证一个数字字符串,并希望检查字符串中的第一个数字是否为4。 我试过使用includes,但它从位置0开始检查,如果4出现在任何地方,我不希望它是真的。我想把它和第一个数字分开 if (!card_number.includes("4", 0)) { //show error } startsWith就是为了这个: if (card_number.startsWith("4")) { 当然,当它只是一个字符串时,charAt: if (card_number.charAt(0)
if (!card_number.includes("4", 0)) {
//show error
}
startsWith
就是为了这个:
if (card_number.startsWith("4")) {
当然,当它只是一个字符串时,charAt
:
if (card_number.charAt(0) === "4") {
如果您想稍后在字符串中进行检查(我想您在本例中不会这样做,但是…),则startsWith
接受起始位置作为可选的第二个参数
if (card_number.startsWith("4", 20)) { // Does it have "4" at index 20?
同样,如果只需要一个字符,您也可以使用charAt
:
if (card_number.charAt(20) === "4")) { // Does it have "4" at index 20?
includes将检查字符串中的匹配字符,而不考虑
索引
。相反,您可以使用索引获取字符串的第一个字符,将其转换为数字并进行比较
let strArray=['345','444','456','789'];
strArray.forEach((项目)=>{
if(parseInt(项[0],10)==4){
console.log(项目)
}
})
您可以使用string.startsWith
或正则表达式:^4.+$
使用<代码>卡号。字符(0)==“4”。这很有帮助,但是如果我想要一个可能的值范围,我该怎么办?比如说51到55。@Ahsan1999-这取决于数值。例如,/^5[1-5]/.test(卡号)
将适用于特定的测试。或者抓取数字(const[digits]=card.match(/^\d+/);
),将其解析为数字,然后执行范围检查。。。