日期:2014-05-16  浏览次数:20343 次

一个小游戏 帮我解决下
输入一个长串的字符比如 4dsde8d*sd457ds8 里面有一个或者两个 " * "
要做的就是吧这个'*' 用0-9 加上a-f 来代替 
每个*必须包含一个数字跟一个字母

有兴趣的朋友帮我写下,最好能用javascript写个输入框

呵呵

------解决方案--------------------
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript">
function change(a){
var x=[1,2,3,4,5,6,7,8,9,0,'a','b','c','d','e','f'];
var reg=/\*/g;
var reg2=/\*/;
var s=a.value.match(reg);
for(var i=0;i<s.length;i++){
var m=x[parseInt(Math.random()*10)]+""+x[10+parseInt(Math.random()*6)];
a.value=a.value.replace(reg2,m);
}
}
</script>
</head>

<body>
<input type="text" onblur="change(this)">
</body>
</html>
这样试试
------解决方案--------------------
楼主可以看下,是不是符合你的要求~~~
HTML code

<!DOCTYPE>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript">
    function smallGame(text){
        var number = [0,1,2,3,4,5,6,7,8,9];
        var charValue = ['a','b','c','d','e','f'];
        if(/\*|×/.test(text.value)){
            text.value = text.value.substring(0,text.value.length - 1) + number[parseInt(Math.random()*10)] + "" + charValue[parseInt(Math.random()*6)];
        }
    }
</script>
</head>

<body>
<input type="text" onKeyup="smallGame(this);">
</body>
</html>