哪位有asp.net中textbox 第三方的控件吗?
满足条件是:只能输入数字,千分位自动分开。
如:1,232,421.99
谢谢。

解决方案 »

  1.   

    干脆写个js函数算了
    当onkeyup是调用这个函数
      

  2.   


        protected void test_ServerClick(object sender, EventArgs e)
        {
            // 正则表达式对象
            Regex re = new Regex(@"(?<=\d)(?=((\d{3})+\b))");
            // 替换
            string oldstr =txt.Value;        string newstr = re.Replace(oldstr, ",");
            txt.Value = newstr;
        }
        <input type="text" id="txt" runat="server"/>
        <input type="button" id="test" runat="server"  onserverclick="test_ServerClick" />
      

  3.   


    var re = /(?<=\d)(?=((\d{3})+\b))/;
    var oldtext = "11123311.12";
    var newtext = oldtext.replace(re, ",");用js报错,很郁闷,期待谁能修正下.
    这个正则不是很完善,需要改进.
      

  4.   

    function threeFigure(n)
    {
        var re=/\d{1,3}(?=(\d{3})+$)/g;
        var n1=n.replace(/^(\d+)((\.\d+)?)$/,function(s,s1,s2){return s1.replace(re,"$&,")+s2;});
        alert(n+"\r\n"+n1)
    }
    这个正则可以。
    感谢上面兄弟的回答
      

  5.   

    如果控件能像 vb mask 控件那样 就好了。。
    用js,在输入完毕后才能显示出来。
      

  6.   

    如果能像日历控件那样。。格式化成:yyyy-MM-dd,用户输入的时候就只能是这样的格式。。
    不知能否做到这样的数字textbox?
      

  7.   

    var re = /(?<=\d)(?=((\d{3})+\b))/;
    var oldtext = "11123311.12";
    var newtext = oldtext.replace(re, ",");
    var re = /(?<=\d)(?=((\d{3})+\b))/;你这样写是不对的,改成下面这样再试试
    Regex re = new Regex(@"(?<=\d)(?=((\d{3})+\b))");
      

  8.   

    如果能像日历控件那样。。格式化成:yyyy-MM-dd,用户输入的时候就只能是这样的格式。。 
    不知能否做到这样的数字textbox?
      

  9.   

    http://asp.net/AJAX/AjaxControlToolkit/Samples/MaskedEdit/MaskedEdit.aspxAjax的MaskedEdit 控件不知道合你要求不。你可以看下这个网址其实自己写个javascript也很简单
      

  10.   

    http://www.asp.net/ajax/downloads/
    这里有2.0的 
    可以下载
      

  11.   

    最终被链接到这里了 ,没有2.0的??
    http://www.codeplex.com/AjaxControlToolkit/Release/ProjectReleases.aspx?ReleaseId=16488
    怎么回事