的JavaScript。限制用户输入与文本框中相同的数字字符

时间:2013-01-23 05:40:14

标签: javascript

我会刷一个乱码,然后用户会输入乱码的字样。

到目前为止,我有这段代码。这是为了随机播放和显示。

document.getElementById("shuffle").value = shuffle(document.getElementById("word").value);
var shuffledword = document.getElementById("shuffle").value;
var z = shuffledword.split("").join('    ');
var x=document.getElementById("demo");
x.innerHTML=z;

var str=document.getElementById("demo").innerHTML; 
var n=str.replace(charcode,"...");
document.getElementById("demo").innerHTML=n;

我想要的是限制用户输入与洗牌字相同的数字字母。示例:单词为“DOOMED”;我想这样做,以便用户不能单击字母D和O三次,但只能单击一次或两次。对于其他字母也是如此,具体取决于随机字母中的数字字母。

这可能吗?

1 个答案:

答案 0 :(得分:0)

// Set an object with each letters of the (shuffled) word and their count
var letters = {};
for (var i=0 ; i<word.length ; i++) {
  var c = word.charAt(i);
  if ( ! letters[c]) letters[c] = 1;
  else letters[c]++;
}

...

function process_user_char(K) {
  // When user enter letter K
  if ( ! letters[K]) {
    alert("You cannot enter " + K);
    return false;
  }
  else {
    letters[K]-- ;
    return true;
  }
}

....

// To check wether user entered all letters, returns Yes or No
function check_if_user_entered_all_letters() {
  for (var o in letters) {
    if (letters[o]) return "No";
  }
  return "Yes";
}

编辑在process_user_char中添加return true / false以集成到 onkeypressed

这是jsfiddle