`

文本框输入限制

阅读更多

/***********************************************************************  
* Copyright(c) 2010 XX公司  
* CLR 版本: 2.0.50727.42  
* 文 件 名:InputValidateInterFace.cs  
* 创 建 人:FK  
* 创建日期:2010-11-29 13:20:52  
* 修 改 人:  
* 修改日期:  
* 备注描述:输入限制         
************************************************************************/
using System;
using System.Windows.Forms;

namespace ScreenShow
{
    public sealed class InputValidate
    {
        #region 输入控制--限制只能输入浮点数、数字字符、整数
        /// <summary>
        /// 限制只能输入浮点数和负号
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void InputDecimalMinus(object sender, KeyPressEventArgs e)
        { //限制只能输入浮点数

            //如果不是0~9(48~57)、.(46)、Enter(13)、BreakSpace(8),不处理
            if ((e.KeyChar < 48 || e.KeyChar > 57) && e.KeyChar != 8 && e.KeyChar != 13 && e.KeyChar != 46 && e.KeyChar != 22 && e.KeyChar != 3 && e.KeyChar != 24 && e.KeyChar != 26 && e.KeyChar != 45)
            {
                e.Handled = true;
            }
            //允许输入负号
            if (e.KeyChar == 45 && (((TextBox)sender).SelectionStart != 0 || ((TextBox)sender).Text.IndexOf("-") >= 0))
            {
                e.Handled = true;
            }

            //如果是小数点,则判断是否已经存在,如果存在,则不拒绝当前输入
            if (e.KeyChar == 46 && (((TextBox)sender).SelectionStart == 0 || ((TextBox)sender).Text.IndexOf(".") >= 0))
            {
                e.Handled = true;
            }
            //如果是回车键,则进行焦点转移
            if (e.KeyChar != 13) return;

            SendKeys.Send("{TAB}");
            e.Handled = true;
        }

        /// <summary>
        /// 限制只能输入浮点数
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void InputDecimal(object sender, KeyPressEventArgs e)
        { //限制只能输入浮点数

            //如果不是0~9(48~57)、.(46)、Enter(13)、BreakSpace(8),不处理
            if ((e.KeyChar < 48 || e.KeyChar > 57) && e.KeyChar != 8 && e.KeyChar != 13 && e.KeyChar != 46 && e.KeyChar != 22 && e.KeyChar != 3 && e.KeyChar != 24 && e.KeyChar != 26)
            {
                e.Handled = true;
            }

            //如果是小数点,则判断是否已经存在,如果存在,则不拒绝当前输入
            if (e.KeyChar == 46 && (((TextBox)sender).SelectionStart == 0 || ((TextBox)sender).Text.IndexOf(".") >= 0))
            {
                e.Handled = true;
            }
            //如果是回车键,则进行焦点转移
            if (e.KeyChar != 13) return;

            SendKeys.Send("{TAB}");
            e.Handled = true;
        }

        /// <summary>
        /// 只能输入数字字母
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void InputAllCode(object sender, KeyPressEventArgs e)
        {//只能输入数字字母  backspace 8,ctrl+v 22,ctrl+c 3,ctrl+x 24,ctrl+z 26
            if (e.KeyChar != 8 && !Char.IsDigit(e.KeyChar) && e.KeyChar != 13 && !((e.KeyChar >= 'a' && e.KeyChar <= 'z') || (e.KeyChar >= 'A' && e.KeyChar <= 'Z')) && e.KeyChar != 22 && e.KeyChar != 3 && e.KeyChar != 24 && e.KeyChar != 26)
            {
                e.Handled = true;
            }
            else
            {
                if (e.KeyChar == 13)
                {
                    SendKeys.Send("{TAB}");
                    e.Handled = true;
                }
            }
        }

        /// <summary>
        /// 限制只能输入整数
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void InputInteger(object sender, KeyPressEventArgs e)
        {//限制只能输入整数
            if (e.KeyChar != 8 && (e.KeyChar < 48 || e.KeyChar > 57) && e.KeyChar != 13 && e.KeyChar != 22 && e.KeyChar != 3 && e.KeyChar != 24 && e.KeyChar != 26)
            {
                e.Handled = true;
            }
            else
            {
                //如果第一位输入0,则不接收
                if (e.KeyChar == 48 && (((TextBox)sender).SelectionStart == 0))
                    e.Handled = true;
                //如果是回车键,则按tab序进行跳转
                if (e.KeyChar == 13)
                {
                    SendKeys.Send("{TAB}");
                    e.Handled = true;
                }
            }
        }
        #endregion 输入控制--限制只能输入浮点数、数字字符、整数
    }
}

 

调用

 

        private void txtGoodsCount_KeyPress(object sender, KeyPressEventArgs e)
        {
            try
            {
                inputValidate.InputInteger(sender, e);
            }
            catch (Exception ex)
            {
                LogHelper.LogException(ex);
                MsgBox.Error("系统出错!");
            }
        }
 

 

 

分享到:
评论

相关推荐

    文本框输入限制(正则表达式)

    文本框输入限制是Web开发中常见的一种需求,用于控制用户在表单中输入的数据类型、格式,以确保数据的有效性和安全性。正则表达式(Regular Expression)作为一种强大的文本处理工具,在实现这种输入限制时扮演了...

    jquery 插件 文本框输入限制 汉字,字母

    针对"文本框输入限制汉字和字母"的需求,我们可以创建一个名为`inputLimit`的插件。这个插件会监听文本框的`keyup`事件,检查用户输入的字符是否符合规定。如果不符合,就删除它。以下是插件实现的代码: ```...

    常用文本框输入限制代码

    javasxript的常用文本框的输入限制代码 有正则,有keyup,也有粘贴限制

    正则表达式,文本框输入限制 [大全].txt

    正则表达式在文本框输入限制中的应用是前端开发中一个重要的知识点,它能够帮助开发者对用户输入的数据进行有效的格式化和验证,确保数据的准确性和安全性。以下是从标题、描述以及部分代码示例中提炼出的关键知识点...

    js文本框限制输入 多种情况

    #### 四、限制文本框输入数字(含小数点),同时处理特殊场景 当需要对输入的小数进行更细致的控制时,例如限制小数点后最多两位数,可以使用以下代码: ```html (/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3')" onblur=...

    js-文本框输入限制.docx

    以下是一些示例代码,展示了如何使用JavaScript实现不同类型的输入限制: 1. 只允许输入数字和小数点: ```html ;" type="text" name="textfield" style="width:400px; ime-mode:disabled" value=""&gt; ``` 这段代码...

    文本框输入控制

    #### 知识点一:文本框输入限制——只允许数字输入 在编程领域,经常需要对用户输入的数据进行格式化控制,以确保输入数据的正确性和有效性。例如,在某些场景下,可能只需要用户输入数字,而不能包含其他任何字符...

    文本框的输入限制

    这篇博客“文本框的输入限制”可能探讨了如何在编程中实现这一功能。 在Web开发中,例如使用HTML5,我们可以直接通过`&lt;input&gt;`标签的属性来设定输入限制。例如,`type="text"`定义了一个基本的文本输入框,而`...

    js限制文本框输入内容

    在实际应用中,开发者可能需要根据具体需求对这些知识点进行组合和扩展,以实现更加灵活和个性化的输入限制。例如,结合HTML5的`pattern`属性可以在HTML层面对输入格式进行初步约束,再配合JavaScript进行二次校验。...

    C#限制文本框输入数字

    除了基本的输入限制,我们还需要考虑如何向用户提供错误反馈。例如,当用户尝试输入非法字符时,我们可以显示一个消息框来提示用户。以下是一个示例: ```csharp if (!System.Text.RegularExpressions.Regex....

    原生js text文本框输入字数限制长度提示

    以下将详细介绍如何使用原生JavaScript实现文本框输入字数限制及长度提示。 首先,我们需要获取到文本框元素,并设置一个最大输入字数。这可以通过HTML的`maxlength`属性完成,例如: ```html ``` 这个例子中,...

    html限制文本框输入小数点 数字 字母 汉字 等

    ### HTML限制文本框输入小数点、数字、字母、汉字等知识点详解 #### 知识点一:HTML与JavaScript结合限制非数字字符输入 在HTML中,经常需要对用户输入进行限制,比如只允许用户输入数字。这在很多场景下都是非常...

    jQuery textarea文本框输入文字字数限制提示代码.zip

    js代码 [removed] //显示限制输入字符method function textAreaChange(obj){ ... var count_total = $this...jQuery textarea文本框输入文字字数限制提示代码,设置固定输入字符,实时计算显示已经输入多少字符。

    js限制文本框只输入正整数

    在探讨如何利用JavaScript限制文本框只输入正整数这一主题时,我们首先应当明确目标:确保用户在文本框中输入的数据仅包含正整数,即非负整数(不包括小数、负数以及任何非数字字符)。这在许多场景下至关重要,比如...

    vb2005限制文本框输入内容

    在VB2005(Visual Basic 2005)中,我们经常需要对文本框控件(TextBox)进行输入限制,确保用户只能按照特定的格式输入数据,例如只允许输入数字、字母或者特定的符号等。这有助于提高数据的准确性和程序的稳定性。...

    判断文本框只能输入中文汉字的代码.rar

    综上所述,通过结合JavaScript的事件监听、字符编码检查以及正则表达式,我们可以实现一个有效的文本框输入限制功能,确保用户只能输入中文汉字。这在创建具有特定输入要求的表单或界面时非常有用。

    限制TextBox只能输入整数或者小数

    在IT领域,特别是软件开发与用户界面设计中,限制用户输入到特定类型的字段是一个常见的需求。例如,在财务或数学相关的应用程序中,可能需要确保用户仅能输入整数或小数,以避免数据输入错误。本篇文章将深入探讨...

    JSP限制文本框输入

    JSP限制文本框输入条件,比如只能输入数字,字符. 不能输入中文等.

    jQuery textarea文本框输入文字字数限制提示代码

    本示例中,我们将探讨如何使用jQuery实现textarea文本框的字数限制功能,并实时提示用户输入的字符数量。 首先,让我们了解jQuery的基本概念。jQuery通过一个"$"符号作为入口,提供了一种简洁的方式来选择DOM元素、...

Global site tag (gtag.js) - Google Analytics