当前位置:编程学习 > C#/ASP.NET >>

求只能输入整数代码

一个TEXTBOX,只允许输入正整数,用JAVASCRIPT怎么写,若输入字母,则清空! --------------------编程问答-------------------- Js方法isNaN可以验证是否为数字 --------------------编程问答-------------------- 用正则也可以 --------------------编程问答--------------------    <input type="text" onKeyUp="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')" />  --------------------编程问答--------------------

<input runat="server" type="text" id="linkorder" name="linkorder" onkeyup="value=value.replace(/[^0-9_]/g,'')" />

onkeyup="value=value.replace(/[^0-9_]/g,'')" --------------------编程问答-------------------- 第一步利用样式表。
<asp:TextBox Runat="server" id="TT" style="ime-mode:disabled"  onkeydown="myKeyDown()"></asp:textBox>

第二步利用js脚本。

function myKeyDown()
{
    var   k=window.event.keyCode;   

    if ((k==46)||(k==8)||(k==189)||(k==109)||(k==190)||(k==110)|| (k>=48 && k<=57)||(k>=96 && k<=105)||(k>=37 && k<=40)) 
    {}
    else if(k==13){
        window.event.keyCode = 9;}
    else{
        window.event.returnValue = false;}
}

利用样式表(style="ime-mode:disabled" )可以防止切换成汉字输入法,也就是说只能使用英文输入法,这样就防止了输入汉字的情况。

这样在文本框内就只能输入数字了。其他符号一律无效。你试试 --------------------编程问答--------------------

public void KeyNum(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsNumber(e.KeyChar) && !Char.IsPunctuation(e.KeyChar) && !Char.IsControl(e.KeyChar))
            {
                e.Handled = true;
            }            else if (Char.IsPunctuation(e.KeyChar))
            {
                String text = ((TextBox)sender).Text;
                if (e.KeyChar == '.')
                {
                    if (text.LastIndexOf(e.KeyChar) != -1)
                    {
                        e.Handled = true;
                    }
                }
                else if (e.KeyChar == '-')
                {
                    if (text.Length != 0)
                    {
                        e.Handled = true;
                    }
                }
                else
                {
                     e.Handled = true;
                }
            }
        }
private void Init()
        {
            textbox1.KeyPress += new KeyPressEventHandler(KeyNum);
        }
--------------------编程问答--------------------    上面各位大师记住了,是正整数,而不是正数,只允许输入正整数,上面你们的都能输入小数点! --------------------编程问答-------------------- 参考如下


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> 
    <head> 
        <meta http-equiv="Content-Type" content="text/html; charset=GB2312" /> 
        <title>正则实现文本框只能输入正整数</title> 
    </head> 
    <body> 
        <input type="text" onKeyUp="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')" /> 
    </body> 
</html>

--------------------编程问答-------------------- txtStageMinDay.Attributes.Add("onKeyPress", "if(((event.keyCode>=48)&&(event.keyCode <=57))) {event.returnValue=true;} else{event.returnValue=false;}"); --------------------编程问答-------------------- function checkPoint()
  {
      String.prototype.trim = function()
      {
       //    用正则表达式将前后空格
       //    用空字符串替代。
        return this.replace(/(^\s*)|(\s*$)/g,"");
      }
     var pattern = /^([1-9][0-9]*)$/;
     var totalPoint = document.getElementById("totalPointId").value;
     if(totalPoint.trim() != "")
     {
        if(!pattern.exec(totalPoint.trim()))
        {
           alert("总成绩输入应为大于等于0的整数"); 
           return false;
        }   
     }
  }
--------------------编程问答--------------------
引用 8 楼 zhh107 的回复:
参考如下

HTML code


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> 
    <head> 
        <meta http-equiv="Content-Type" content="text/html; char……

这个真可以!多谢了! --------------------编程问答-------------------- 8楼的和我在3楼帖出的有何区别没? --------------------编程问答-------------------- 用正则表达式 google搜一下 --------------------编程问答-------------------- 像这种简单的问题 就不应该在论坛里提出来。你在提问题之前自己思考过么,google 百度过么?你试图自己解决过么?如果什么刀靠论坛 你什么时候能进步! --------------------编程问答-------------------- 脚本直接验证
一、验证类 
1、数字验证内 
    1.1   整数 
    1.2   大于0的整数   (用于传来的ID的验证) 
    1.3   负整数的验证 
    1.4   整数不能大于iMax 
    1.5   整数不能小于iMin 
2、时间类 
    2.1   短时间,形如   (13:04:06) 
    2.2   短日期,形如   (2003-12-05) 
    2.3   长时间,形如   (2003-12-05   13:04:06) 
    2.4   只有年和月。形如(2003-05,或者2003-5) 
    2.5   只有小时和分钟,形如(12:03) 
3、表单类 
    3.1   所有的表单的值都不能为空 
    3.2   多行文本框的值不能为空。 
    3.3   多行文本框的值不能超过sMaxStrleng 
    3.4   多行文本框的值不能少于sMixStrleng 
    3.5   判断单选框是否选择。 
    3.6   判断复选框是否选择. 
    3.7   复选框的全选,多选,全不选,反选 
    3.8   文件上传过程中判断文件类型 
4、字符类 
    4.1   判断字符全部由a-Z或者是A-Z的字字母组成 
    4.2   判断字符由字母和数字组成。 
    4.3   判断字符由字母和数字,下划线,点号组成.且开头的只能是下划 

线和字母 
    4.4   字符串替换函数.Replace(); 
5、浏览器类 
    5.1   判断浏览器的类型 
    5.2   判断ie的版本 
    5.3   判断客户端的分辨率 
    
6、结合类 
    6.1   email的判断。 
    6.2   手机号码的验证 
    6.3   身份证的验证 
    

二、功能类 

1、时间与相关控件类 
    1.1   日历 
    1.2   时间控件 
    1.3   万年历 
    1.4   显示动态显示时钟效果(文本,如OA中时间) 
    1.5   显示动态显示时钟效果   (图像,像手表)   
2、表单类 
    2.1   自动生成表单 
    2.2   动态添加,修改,删除下拉框中的元素 
    2.3   可以输入内容的下拉框 
    2.4   多行文本框中只能输入iMax文字。如果多输入了,自动减少到 

iMax个文字(多用于短信发送) 
    
3、打印类 
    3.1   打印控件 
4、事件类 
    4.1   屏蔽右键 
    4.2   屏蔽所有功能键 
    4.3   -->   和 <--   F5   F11,F9,F1 
    4.4   屏蔽组合键ctrl+N 
5、网页设计类 
    5.1   连续滚动的文字,图片(注意是连续的,两段文字和图片中没有 

空白出现) 
    5.2   html编辑控件类 
    5.3   颜色选取框控件 
    5.4   下拉菜单 
    5.5   两层或多层次的下拉菜单 
    5.6   仿IE菜单的按钮。(效果如rongshuxa.com的导航栏目) 
    5.7   状态栏,title栏的动态效果(例子很多,可以研究一下) 
    5.8   双击后,网页自动滚屏 
6、树型结构。 
    6.1   asp+SQL版 
    6.2   asp+xml+sql版 
    6.3   java+sql或者java+sql+xml 
7、无边框效果的制作 
8、连动下拉框技术 
9、文本排序 
********************************************************* 
一、验证类 
1、数字验证内 
    1.1   整数 
            /^(-|\+)?\d+$/.test(str) 
    1.2   大于0的整数   (用于传来的ID的验证) 
            /^\d+$/.test(str) 
    1.3   负整数的验证 
            /^-\d+$/.test(str) 
2、时间类 
    2.1   短时间,形如   (13:04:06) 
            function   isTime(str) 
            { 
                var   a   =   

str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/); 
                if   (a   ==   null)   {alert( '输入的参数不是时间格式 ');   

return   false;} 
                if   (a[1]> 24   ||   a[3]> 60   ||   a[4]> 60) 
                { 
                    alert( "时间格式不对 "); 
                    return   false 
                } 
                return   true; 
            } 
    2.2   短日期,形如   (2003-12-05) 
            function   strDateTime(str) 
            { 
                  var   r   =   

str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);   
                  if(r==null)return   false;   
                  var   d=   new   Date(r[1],   r[3]-1,   r[4]);   
                  return   

(d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r 

[4]); 
            } 
    2.3   长时间,形如   (2003-12-05   13:04:06) 
            function   strDateTime(str) 
            { 
                var   reg   =   /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})   

(\d{1,2}):(\d{1,2}):(\d{1,2})$/;   
                var   r   =   str.match(reg);   
                if(r==null)return   false;   
                var   d=   new   Date(r[1],   r[3]-1,r[4],r[5],r[6],r[7]);   
                return   

(d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r 

[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()= 

=r[7]); 
            } 
    2.4   只有年和月。形如(2003-05,或者2003-5) 
    2.5   只有小时和分钟,形如(12:03) 
3、表单类 
    3.1   所有的表单的值都不能为空 
            <input   

onblur= "if(this.value.replace(/^\s+|\s+$/g, ' ')== ' ')alert( '不能 

为空! ') "> 
    3.2   多行文本框的值不能为空。 
    3.3   多行文本框的值不能超过sMaxStrleng 
    3.4   多行文本框的值不能少于sMixStrleng 
    3.5   判断单选框是否选择。 
    3.6   判断复选框是否选择. 
    3.7   复选框的全选,多选,全不选,反选 
    3.8   文件上传过程中判断文件类型 
4、字符类 
    4.1   判断字符全部由a-Z或者是A-Z的字字母组成 
            <input   onblur= "if(/[^a-zA-Z]/g.test(this.value))alert( ' 

有错 ') "> 
    4.2   判断字符由字母和数字组成。 
            <input   

onblur= "if(/[^0-9a-zA-Z]/g.test(this.value))alert( '有错 ') "> 
    4.3   判断字符由字母和数字,下划线,点号组成.且开头的只能是下划 

线和字母 
            /^([a-zA-z_]{1})([\w]*)$/g.test(str) 
    4.4   字符串替换函数.Replace(); 
5、浏览器类 
    5.1   判断浏览器的类型 
            window.navigator.appName 
    5.2   判断ie的版本 
            window.navigator.appVersion 
    5.3   判断客户端的分辨率 
            window.screen.height;     window.screen.width; 
    
6、结合类 
    6.1   email的判断。 
            function   ismail(mail) 
            { 
                return(new   

RegExp(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+ 

)*\.[A-Za-z0-9]+$/).test(mail)); 
            } 
    6.2   手机号码的验证 
    6.3   身份证的验证 
            function   isIdCardNo(num) 
            { 
                if   (isNaN(num))   {alert( "输入的不是数字! ");   return   

false;} 
                var   len   =   num.length,   re;   
                if   (len   ==   15) 
                    re   =   new   

RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{3})$/); 
                else   if   (len   ==   18) 
                    re   =   new   

RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\d)$/); 
                else   {alert( "输入的数字位数不对! ");   return   false;} 
                var   a   =   num.match(re); 
                if   (a   !=   null) 
                { 
                    if   (len==15) 
                    { 
                        var   D   =   new   Date( "19 "+a[3]+ "/ "+a[4]+ "/ "+a[5]); 
                        var   B   =   

D.getYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5]; 
                    } 
                    else 
                    { 
                        var   D   =   new   Date(a[3]+ "/ "+a[4]+ "/ "+a[5]); 
                        var   B   =   

D.getFullYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[ 

5]; 
                    } 
                    if   (!B)   {alert( "输入的身份证号   "+   a[0]   + "   里出生日期 

不对! ");   return   false;} 
                } 
                return   true; 
            } 
3.7   复选框的全选,多选,全不选,反选 
<form   name=hrong> 
<input   type=checkbox   name=All   onclick= "checkAll( 'mm ') "> 全选 

<br/> 
<input   type=checkbox   name=mm   onclick= "checkItem( 'All ') "> <br/> 
<input   type=checkbox   name=mm   onclick= "checkItem( 'All ') "> <br/> 
<input   type=checkbox   name=mm   onclick= "checkItem( 'All ') "> <br/> 
<input   type=checkbox   name=mm   onclick= "checkItem( 'All ') "> <br/> 
<input   type=checkbox   name=mm   

onclick= "checkItem( 'All ') "> <br/> <br/> 


<input   type=checkbox   name=All2   onclick= "checkAll( 'mm2 ') "> 全选 

<br/> 
<input   type=checkbox   name=mm2   

onclick= "checkItem( 'All2 ') "> <br/> 
<input   type=checkbox   name=mm2   

onclick= "checkItem( 'All2 ') "> <br/> 
<input   type=checkbox   name=mm2   

onclick= "checkItem( 'All2 ') "> <br/> 
<input   type=checkbox   name=mm2   

onclick= "checkItem( 'All2 ') "> <br/> 
<input   type=checkbox   name=mm2   

onclick= "checkItem( 'All2 ') "> <br/> 

</form> 

<SCRIPT   LANGUAGE= "JavaScript "> 
function   checkAll(str) 

    var   a   =   document.getElementsByName(str); 
    var   n   =   a.length; 
    for   (var   i=0;   i <n;   i++) 
    a[i].checked   =   window.event.srcElement.checked; 

function   checkItem(str) 

    var   e   =   window.event.srcElement; 
    var   all   =   eval( "document.hrong. "+   str); 
    if   (e.checked) 
    { 
        var   a   =   document.getElementsByName(e.name); 
        all.checked   =   true; 
        for   (var   i=0;   i <a.length;   i++) 
        { 
            if   (!a[i].checked){   all.checked   =   false;   break;} 
        } 
    } 
    else   all.checked   =   false; 

</SCRIPT> 

3.8   文件上传过程中判断文件类型 
<input   type=file   

onchange= "alert(this.value.match(/\.([^\.]+)(\?|$)/)[1]) ">  --------------------编程问答--------------------
引用 3 楼 q107770540 的回复:
<input type="text" onKeyUp="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')" />

+1 --------------------编程问答--------------------
引用 9 楼 shiyuyao1987 的回复:
txtStageMinDay.Attributes.Add("onKeyPress", "if(((event.keyCode>=48)&&(event.keyCode <=57))) {event.returnValue=true;} else{event.returnValue=false;}");

这个很好啊 --------------------编程问答--------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> 
    <head> 
        <meta http-equiv="Content-Type" content="text/html; charset=GB2312" /> 
        <title>正则实现文本框只能输入正整数</title> 
    </head> 
    <body> 
        <input type="text" onKeyUp="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')" /> 
    </body> 
</html>

--------------------编程问答--------------------

Txt.Attributes.Add("onKeyPress", "return ToOnlyNumber(event);");//只能輸入數字



/*-----只允許輸入數字,Start-----*/
      function ToOnlyNumber(e) {
          var keynum;
          // IE
          if (window.event) {
              keynum = e.keyCode;
          }
          // Netscape/Firefox/Opera
          else if (e.which) {
              keynum = e.which;
          }
          if (event.ctrlKey) {
              window.close();
          }

          if (keynum == 32) {
              e.keyCode = 0;
              return false;
          }
          else {
              if (keynum >= 48 && keynum <= 57) {
                  e.keyCode = keynum;
                  keychar = String.fromCharCode(keynum);
                  return true;
              }
              else {
                  e.keyCode = 0;
                  return false;
              }
          }
      }
--------------------编程问答--------------------
引用 11 楼 liuliu8610 的回复:
这个真可以!多谢了!



结贴啊  --------------------编程问答-------------------- --------------------编程问答-------------------- 这个百度一下,一大堆哟。。表达式了。。。 --------------------编程问答--------------------   <input type="text" name="txtPage" id="textPage" value="" onkeydown="if(event.keyCode==13)event.returnValue=false" onchange="if(/\D/.test(this.value)){alert('只能在跳转目标页框内输入整数!');this.value='1';}" />
--------------------编程问答-------------------- 重写TextBox --------------------编程问答-------------------- isNaN()
或正则 --------------------编程问答--------------------
引用 8 楼 zhh107 的回复:
参考如下

HTML code


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> 
    <head> 
        <meta http-equiv="Content-Type" content="text/html; char……


+1  --------------------编程问答-------------------- 学习学习学习学习学习 --------------------编程问答-------------------- 这位大哥,如何感谢是好 

引用 15 楼 no1bigtooth 的回复:
脚本直接验证
一、验证类 
1、数字验证内 
    1.1   整数 
    1.2   大于0的整数   (用于传来的ID的验证) 
    1.3   负整数的验证 
    1.4   整数不能大于iMax 
    1.5   整数不能小于iMin 
2、时间类 
    2.1   短时间,形如   (13:04:06) 
    2.2   短日期,形如   ……
--------------------编程问答-------------------- 话说,楼主,3楼和8楼的一样的啊 
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,