一个文本框只允许输入数字

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个文本框只允许输入数字相关的知识,希望对你有一定的参考价值。

一个文本框只允许输入数字,这个应该怎么去做啊?…..大于0
<input name="page" type="text" size="14" maxlength="14">

你试试把那行代码改成这样:
<input name="page" type="text" size="14" maxlength="14" onkeyup='this.value=this.value.replace(/\D/gi,"")'>
参考技术A 可以在提交时判断下是不是属于0-9。不是就提示出错 参考技术B Delphi是这样表示的
if not (key in ['0'..'9']) then
begin
edit1.text:='';
showmessage('请输入纯数字');
end;
参考技术C 下面两种都行~
<input class=textarea1 size=80 type=text name=txtPostalCode onKeypress="if (event.keyCode < 45 || event.keyCode > 57) event.returnValue = false;">

<input onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">
参考技术D 使用正规表达式
以js脚本为例:
this.value=this.value.replace(/[^0-9]\D*$/,"")

WPF文本框只允许输入数字

XAML代码

 
< TextBox Height="23" HorizontalAlignment="Left" Margin="100,5,0,0" Name="textBox1" VerticalAlignment="Top"
Width="120" DataObject.Pasting="textBox1_Pasting" PreviewKeyDown="textBox1_PreviewKeyDown"
InputMethod.IsInputMethodEnabled="False" PreviewTextInput="textBox1_PreviewTextInput"/ >
 
  
 
  
 
cs代码
 
  
 
//检测粘贴
        private void textBox1_Pasting(object sender, DataObjectPastingEventArgs e)
        {
            if (e.DataObject.GetDataPresent(typeof(String)))
            {
                String text = (String)e.DataObject.GetData(typeof(String));
                if (!isNumberic(text))
                { e.CancelCommand(); }
            }
            else { e.CancelCommand(); }
        }
 
  
 
        private void textBox1_PreviewKeyDown(object sender, KeyEventArgs e)
        {
            if (e.Key == Key.Space)
                e.Handled = true;
        }
 
  
 
        private void textBox1_PreviewTextInput(object sender, TextCompositionEventArgs e)
        {
            if (!isNumberic(e.Text))
            {
                e.Handled = true;
            }
            else
                e.Handled = false;
        }
 
 
        //isDigit是否是数字
        public static bool isNumberic(string _string)
        {
            if (string.IsNullOrEmpty(_string))
                return false;
            foreach (char c in _string)
            {
                if (!char.IsDigit(c))
                    //if(c<‘0‘ c="">‘9‘)//最好的方法,在下面测试数据中再加一个0,然后这种方法效率会搞10毫秒左右
                    return false;
            }
            return true;
        }

以上是关于一个文本框只允许输入数字的主要内容,如果未能解决你的问题,请参考以下文章

文本框只允许输入数字.net/javascript

vue 文本输入框只允许输入字母数字不允许输入特殊字符

WPF文本框只允许输入数字

delphi中如何让文本框只输入数字、减号、小数点、汉字和退格键

js 输入框只允许输入数字

[Layui]解决文本框只输入数字方法