高分求算法,谢谢!急啊,只要实现,想要多少分都可以!

rose1981 2004-12-22 04:00:59
现在需要在文本框中输入数字(其他的都不可以),然后边输入数字,边添加逗号,3位加一个,最后结果就是1,234,567如何在输入数字的过程中添加上逗号??回帖说明需要的分数和算法。
...全文
24 点赞 收藏 2
写回复
2 条回复
JK_10000 2004年12月22日
不大合习惯,
连excel都没这样做
回复 点赞
梅雪香 2004年12月22日
很像,自己改改就行了
<html>
<head>
<title>无标题文档</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script language="javascript">
function keydown(src){
var e=window.event;
var code=e.keyCode;
var cursorPos=getPos(src);
if(code==8){ //退格
if(cursorPos==4 || cursorPos==8|| cursorPos==12){
movenext(src,cursorPos,-1);
cursorPos-=1;
}else movenext(src,cursorPos,0);
var range=setSelect(src,cursorPos-1);
range.text=" ";
movenext(src,cursorPos,-1);
e.returnValue=false;
return false;
}else if(code==46) e.returnValue=false;
}
function keypress(src){
var e=window.event;
var code=e.keyCode;
var cursorPos=getPos(src);
if(code==46){
if(cursorPos<13)
movenext(src,cursorPos,cursorPos<4?(4-cursorPos):(cursorPos<8?(8-cursorPos):(cursorPos<12?(12-cursorPos):(0))));
}
if(!keyPressInt()) return false;
if(cursorPos==3 || cursorPos==7|| cursorPos==11){
movenext(src,cursorPos,1);
cursorPos += 1;
}
var num = String.fromCharCode(code);
if(checkInput(src,num,cursorPos)){
var range=setSelect(src,cursorPos);
range.text=num;
if(cursorPos==2 || cursorPos==6|| cursorPos==10)
movenext(src,cursorPos,2);
else movenext(src,cursorPos,1);
}
e.returnValue=false;
return false;
}
function checkInput(src,num,pos){
/* 在这里进行每个位置的输入合法判断*/
return true;
}
function setSelect(src,pos){
var range = src.createTextRange();
range.moveStart('character',pos);
range.moveEnd('character',pos-src.value.length+1);
range.select();
return range;
}
function getPos(obj){
var ml=obj.value.length;
var pos=0;
var rng=document.selection.createRange();
rng.moveEnd("character",ml);
try{
pos=ml-rng.text.length
}catch(e){}
return pos;
}
function movenext(src,pos,flag)
{
var range =src.createTextRange();
range.moveStart("character",pos+flag);
range.collapse(true);
range.select();
}
function keyPressInt(){
var e=window.event;
code=e.keyCode;
if(code >=48 && code <=57) return true;
else {window.event.returnValue=false;return false;}
}
function checkPaste(){
window.event.returnValue=false;
}
</script>
</head>

<body>
<p align=center>
<input name="dateinput" value=" . . . " onkeydown="keydown(this)" size="15" maxlength="15" type="text" onFocus="" onkeypress="keypress(this)" onpaste="checkPaste()" onDrag="checkPaste()" oncut="checkPaste()" onmousemove="checkPaste()">
</p>
</body>
</html>
回复 点赞
发动态
发帖子
JavaScript
创建于2007-09-28

5.1w+

社区成员

22.3w+

社区内容

Web 开发 JavaScript
社区公告
暂无公告