注册 登录
编程论坛 ASP技术论坛

textfield 的 特殊效果[50专家分]大家一起来研究一下

发布于 2010-06-03 15:40, 657 次点击
大脑有点转不过来,
大家帮帮忙一下,
我想要一个效果,
当我输入日期:11062010
在Textfield 里面的字会变成11/06/2010

有谁可以帮忙的?
多谢了
6 回复
#2
yms1232010-06-03 15:50
就是按这种格式输入?如果是的话这种效果不难做,关键是任意格式的日期就比较麻烦了。
#3
2010-06-03 17:14
呵呵,也不是这么说,
应该说是onkeyup 那种效果,
举个例子:
我原本要输入的文字是
06112010
当我已经输入了06后
text field 里呈现的字会是06/
在接着输入11后
text field 里呈现的字会是06/11/

呵呵,吹毛求疵的后果。。。
#4
icecool2010-06-03 19:31
你输入的方式(月日年:mmddyy)这个是固定的吗?
#5
icecool2010-06-04 17:27
<html>
<title>Test</title>
<body name="body1">
<form name=form1 action="">
      <input type=text name=text1 onkeyup="msger();"><br>
      <input type=text name=text2>
</form>

<SCRIPT LANGUAGE="VBScript">
<!--
function msger()
  tem=len(form1.text1.value)
  if tem>=2 and tem<4 then
     form1.text2.value=left(form1.text1.value,2) & "/"
  end if

  if tem >=4 and tem<8 then
     form1.text2.value=left(form1.text1.value,2) & "/" & right(left(form1.text1.value,4) ,2) & "/"
  end if

  if tem=8 then
     form1.text2.value=left(form1.text1.value,2) & "/" & right(left(form1.text1.value,4) ,2) & "/" & right(form1.text1.value,4)
  end if

   if tem>8 then
      form1.text1.value=left(form1.text1.value,8)
   end if
End Function

-->
</script>
#6
gupiao1752010-06-04 18:49
程序代码:
<script type="text/javascript">
var flag1=true,flag2=true;
function check(obj)
{
var a=obj.value,b="";
var re1=/\d{2}/g,re2=/\d{2}\/\d{2}/g;//定义正则,过滤文本输入!
    if(re1.test(a)&&flag1==true)
    {b+=a+"/";
    obj.value=b;
    flag1=false;}
   if(re2.test(a)&&flag2==true)
    {b+=a+"/";
    obj.value=b;
    flag2=false;}
}
</script>
<input type="text" value="" id="txt" onkeydown="check(this)">
如果只是一个要求,那倒是简单些,这样也行!
#7
2010-06-07 09:13
在周末自己也做了一些script,
但是比起大家放上来的就有点简陋了。

大家加油~ 已经加分了
1