我如何检查一个猜测的字符是否在这个代码中的字符串
How do I check if a guessed character is in a string in this code?
我要做的是,如果用户在正确的位置猜出了正确的字母,它将以绿色输出该字母。如果用户猜出了答案中的字母,但是在错误的位置,它将以红色输出。如果用户猜出的字母不在答案中,它将以黑色输出。我正在努力弄清楚如何使它,以便它会检查字母是否在代码中,但不是正确的位置。
<script>
var secret = 'OPIMNC';
function init(){
var button = document.getElementById('startButton');
button.onclick = myButtonClick;
}
function myButtonClick(){
var userTry = document.getElementById('userGuess').value;
var ul = document.getElementById('guessList');
var li = document.createElement('li');
for (var i=0; i < secret.length; i++) {
var found = false;
if ((userTry.charAt(i))===(secret.charAt(i))) {
li.innerHTML += userTry.charAt(i).fontcolor('green');
found = true;
}
//if character is in the code but in the wrong place, output the font in red
else if ???? {
for (var j=0; j < secret.length; j++) {
??????????????
}
found = true;
li.innerHTML += userTry.charAt(i).fontcolor('red');
else if (found===false) {
li.innerHTML += userTry.charAt(i).fontcolor('black');
}
}
ul.appendChild(li);
}
window.onload = init;
</script>
您是否查看了string.indexOf()方法?
if(secret.indexOf('[CHAR or STRING]') >= 0) {
// Character or string is within secret string
} else {
// Character or string is NOT within secret string : index == -1
}
var secret = 'ABCDEF';
function init() {
var button = document.getElementById('startButton');
button.onclick = myButtonClick;
}
function myButtonClick() {
var userTry = document.getElementById('userGuess').value;
if(userTry.length !== 6){
document.getElementById('error').innerHTML = "I need 6 characters !";
return;
}
document.getElementById('error').innerHTML = "";
var ul = document.getElementById('guessList');
ul.innerHTML = ""; //Clear list
for (var i = 0; i < secret.length; i++) {
var color;
if (userTry.charAt(i) === secret.charAt(i)) {
//Correct index
color = 'geen'
} else if (secret.indexOf(userTry.charAt(i)) !== -1) {
//Present but wrong index
color = 'red';
} else {
//Not present
color = 'black';
}
//Add letters to list with correct colors
var li = document.createElement('li');
li.innerHTML = userTry.charAt(i).fontcolor(color);
ul.appendChild(li);
}
}
window.onload = init;
<input type="text" id="userGuess" maxlength="6"/>
<button type="submit" id="startButton">Start</button>
<p style="color: red;" id="error"></p>
<ul id="guessList">
</ul>
好的,所以我希望这个代码的变化将解决这个问题…
<script>
var secret = 'ABCDEF';
function init(){
var button = document.getElementById('startButton');
button.onclick = myButtonClick;
}
function myButtonClick(){
//alert('Button clicked');
var userTry = document.getElementById('userGuess').value;
var ul = document.getElementById('guessList');
var li = document.createElement('li');
for (var i=0; i < secret.length; i++) {
var found = false;
if ((userTry.charAt(i))===(secret.charAt(i))) {
//if secret code and guess are a match, display letter in green
li.innerHTML += userTry.charAt(i).fontcolor('green');
found = true;
}
//~~~~~~~~~~~~CHANGE HERE~~~~~~~~~~~~
else {
for (var j=0; j < secret.length; j++) {
if ((userTry.charAt(i))===(secret.charAt(j))) {
found = true;
}
}
if (found===true) {
li.innerHTML += userTry.charAt(i).fontcolor('red');
}
else {
//need to show user character is totally wrong
li.innerHTML += userTry.charAt(i).fontcolor('black');
}
}
//~~~~~~~~~~~~CHANGE END~~~~~~~~~~~~
}
ul.appendChild(li);
alert(userTry);
}
window.onload = init;
</script>
祝你好运! 相关文章:
- 如何检查一个字符串的所有字符是否都存在于另一个字符串中
- 检查最后键入的字符是否为空格
- 检查字符串中的字符是否都是唯一的
- JavaScript 正则表达式,用于检查单个特殊字符是否在字符串中出现一次
- 检测字符是否为字母
- 如何检测第一个字符是否为回车符,并添加回车符
- JavaScript,如何检查字符是否为以下任何一种
- 验证 JavaScript 中的连字符是否只有一个
- 源代码中的TAB字符是否不正确
- 如何检查第一个字符是否为字母
- 检查字符是否为元音
- 检查最后一个字符是否是javascript中的问号
- 检查第一个字符是否为int的错误,如果不是'不要删除那个字符
- Javascript:确定字符串中的所有字符是否都是唯一的,如果不是,则删除重复字符
- 如何检查一个特定的字符是否在javascript字符串数组中可用
- 检查第一个字符是否大写
- Javascript Regex验证字符串长度和最后3个字符是否为数字
- 我如何检查一个猜测的字符是否在这个代码中的字符串
- 检查字符串的第一个字符是否为数字会给出一个错误,即charat不是一个有效的方法
- 谷歌地图静态api url长度超过2048字符是否有任何解决方案?目的是保存为图像