VC-文本框只能输入数字和小数 源文件

合集下载

js正则表达式限制文本框只能输入数字,小数点,英文字母

js正则表达式限制文本框只能输入数字,小数点,英文字母

1.文本框只能输入数字代码(小数点也不能输入)<input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')">2.只能输入数字,能输小数点.<input onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')"><input name=txt1 onchange="if(/\D/.test(this.value)){alert('只能输入数字');this.value='';}">3.数字和小数点方法二<input type=text t_value="" o_value="" onkeypress="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;elsethis.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.value" onkeyup="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;elsethis.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.value" onblur="if(!this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?|\.\d*?)?$/))this.value=this.o_value;else{if(thi s.value.match(/^\.\d+$/))this.value=0+this.value;if(this.value.match(/^\.$/))this.value=0;this.o_val ue=this.value}">4.只能输入字母和汉字<input onkeyup="value=value.replace(/[\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[\d]/g,''))" maxlength=10 name="Numbers">5.只能输入英文字母和数字,不能输入中文<input onkeyup="value=value.replace(/[^\w\.\/]/ig,'')">6.只能输入数字和英文<font color="Red">chun</font><input onKeyUp="value=value.replace(/[^\d|chun]/g,'')">7.小数点后只能有最多两位(数字,中文都可输入),不能输入字母和运算符号:<input onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 || /\.\d\d$/.test(value))event.returnValue=false">8.小数点后只能有最多两位(数字,字母,中文都可输入),可以输入运算符号:<input onkeyup="this.value=this.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')">只能输入汉字:<input onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9F A5]/g,''))">只能输入数字:<input onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">只能输入英文和数字:<input onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">控制输入框只能输入文字或数字,也可以不允许输入特殊字符这里不允许输入如下字符: (像!@#$%^&* 等)<br><textarea rows=2 cols=20 name=comments onKeypress="if ((event.keyCode > 32 && event.keyCode < 48) || (event.keyCode > 57 && event.keyCode < 65) || (event.keyCode > 90 && event.keyCode < 97)) event.returnValue = false;">只禁止空格输入onkeyup="value=value.replace(/\s/g,'')"只能输入中文和英文:onkeyup="value=value.replace(/[^\a-zA-Z\u4E00-\u9FA5]/g,'')"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\a-zA-Z\u4E 00-\u9FA5]/g,''))"。

限制输入框只能输入数字

限制输入框只能输入数字

正则表达式限制输入框只能输入数字代码如下:<input type="text" onkeyup="this.value=this.value.replace(/[^\d]/g,'') " onafterpaste="this.value=this.value.replace(/[^\d]/g,'') " name="f_order" value="1"/>其中,onafterpaste防止用户从其它地方copy内容粘贴到输入框或者是:functionisnum(){if(event.keyCode<45||event.keyCode>57){event.keyCode=0;}}</script>输入框只能输入字母和下横线的正则表达式<input onkeyup="this.value=this.value.replace(/[^_a-zA-Z]/g,'')" onpaste="this.value=this.value.replace(/[^_a-zA-Z]/g,'')">输入框只能输入字母数字和下横线的正则表达式<input onkeyup="this.value=this.value.replace(/[^\w]/g,'')" onpaste="this.value=this.value.replace(/[^\w]/g,'')">或<input onkeyup="this.value=this.value.replace(/[\W]/g,'')" onpaste="this.value=this.value.replace(/[\W]/g,'')">JS判断只能是数字和小数点1.文本框只能输入数字代码(小数点也不能输入)<input onkeyup="this.value=this.value.replace(/\D/g,'')"onafterpaste="this.value=this.value.replace(/\D/g,'')">2.只能输入数字,能输小数点.<input onkeyup="if(isNaN(value))execCommand('undo')"onafterpaste="if(isNaN(value))execCommand('undo')"><input name=txt1 onchange="if(/\D/.test(this.value)){alert('只能输入数字');this.value='';}"> 3.数字和小数点方法二<input type=text t_value="" o_value=""onkeypress="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;elsethis.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.v alue" onkeyup="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.value"onblur="if(!this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?|\.\d*?)?$/))this.value=this.o_value;els e{if(this.value.match(/^\.\d+$/))this.value=0+this.value;if(this.value.match(/^\.$/))this.value =0;this.o_value=this.value}">4.只能输入字母和汉字<input onkeyup="value=value.replace(/[\d]/g,'')"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[\d]/g, ''))" maxlength=10 name="Numbers">5.只能输入英文字母和数字,不能输入中文<input onkeyup="value=value.replace(/[^\w\.\/]/ig,'')">6.只能输入数字和英文<font color="Red">chun</font><input onKeyUp="value=value.replace(/[^\d|chun]/g,'')">7.小数点后只能有最多两位(数字,中文都可输入),不能输入字母和运算符号:<input onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 || /\.\d\d$/.test(value))event.returnValue=false">8.小数点后只能有最多两位(数字,字母,中文都可输入),可以输入运算符号:<input onkeyup="this.value=this.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')">只能是数字和小数点和加减乘際onkeypress="return event.keyCode>=4&&event.keyCode<=57"。

c# .net 控制TextBox只能输入数字

c# .net 控制TextBox只能输入数字

当界面上要用户输入只有数字的字符时,默认的Textbox是不能胜任的,网上有很多网友们提供了很多的做法,我总结了一下写了一个在C#下的实现,做到了如下的几点:1:只能输入类似这样的字符:-123456.789;1234.789;2:在输入的字符串中不能存在两个点符:12456.78//正确;12.456.78//不正确;3:如果表示负数可以在字符串的最前面加一个减号“-”,也只能加到第一个字符的位置;4:可以用复制粘帖功能和菜单功能,但是只对能正确格式的字符串有效,比如:12.34可以,Abc不可以;5:只是得到一个字符串,还可以在这个基础上再改进自己所需的,经如添加对十六进制的支持等。

代码如下在.NET下用C#写的:using System;using System.Windows.Forms;namespace NumTextBox{/// <summary>/// NumTextBox 的摘要说明。

/// </summary>public class TextBoxNumEx:System.Windows.Forms.TextBox{public const int WM_CONTEXTMENU = 0x007b;//右键菜单消息public const int WM_CHAR = 0x0102; //输入字符消息(键盘输入的,输入法输入的好像不是这个消息)public const int WM_CUT = 0x0300; //程序发送此消息给一个编辑框或combobox来删除当前选择的文本public const int WM_COPY = 0x0301; //程序发送此消息给一个编辑框或combobox来复制当前选择的文本到剪贴板public const int WM_PASTE = 0x0302; //程序发送此消息给editcontrol或combobox从剪贴板中得到数据public const int WM_CLEAR = 0x0303; //程序发送此消息给editcontrol或combobox清除当前选择的内容;public const int WM_UNDO = 0x0304; //程序发送此消息给editcontrol或combobox撤消最后一次操作public TextBoxNumEx(){//// TODO: 在此处添加构造函数逻辑//}protected override void WndProc(ref Message m){switch(m.Msg){case WM_CHAR:System.Console.WriteLine(m.WParam);bool isSign = ((int)m.WParam == 45);bool isNum = ((int)m.WParam >= 48) && ((int)m.WParam <= 57);bool isBack = (int)m.WParam == (int)Keys.Back;bool isDelete = (int)m.WParam == (int)Keys.Delete;//实际上这是一个"."键bool isCtr = ((int)m.WParam == 24) || ((int)m.WParam == 22) || ((int)m.WParam == 26) ||((int)m.WParam == 3);if( isNum || isBack || isCtr){base.WndProc (ref m);}if (isSign){if (this.SelectionStart!=0){break;}base.WndProc (ref m);break;}if (isDelete){if (this.Text.IndexOf(".")<0){base.WndProc (ref m);}}if ((int)m.WParam == 1){this.SelectAll();}break;case WM_PASTE:IDataObject iData = Clipboard.GetDataObject();//取剪贴板对象if(iData.GetDataPresent(DataFormats.Text)) //判断是否是Text{string str = (string)iData.GetData(DataFormats.Text);//取数据if (MatchNumber(str)){base.WndProc (ref m);break;}}m.Result = (IntPtr)0;//不可以粘贴break;default:base.WndProc (ref m);break;}}private bool MatchNumber(string ClipboardText) {int index=0;string strNum = "-0.123456789";index = ClipboardText.IndexOf(strNum[0]);if (index>=0){if (index>0){return false;}index = this.SelectionStart;if (index>0){return false;}}index = ClipboardText.IndexOf(strNum[2]);if (index!=-1){index = this.Text.IndexOf(strNum[2]);if (index!=-1){return false;}}for(int i=0; i<ClipboardText.Length; i++){index = strNum.IndexOf(ClipboardText[i]);if (index <0) {return false; }}return true;}}}。

onkeyup+onafterpaste 只能输入数字和小数点

onkeyup+onafterpaste 只能输入数字和小数点

JS判断只能是数字和小数点1.文本框只能输入数字代码(小数点也不能输入)<input onkeyup="this.value=this.value.replace(/\D/g,'')"onafterpaste="this.value=this.value.replace(/\D/g,'')">2.只能输入数字,能输小数点.<input onkeyup="if(isNaN(value))execCommand('undo')"onafterpaste="if(isNaN(value))execCommand('undo')"><input name=txt1 onchange="if(/\D/.test(this.value)){alert('只能输入数字');this.value='';}">3.数字和小数点方法二<input type=text t_value="" o_value=""onkeypress="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_ value;elsethis.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))th is.o_value=this.value"onkeyup="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_val ue;elsethis.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))th is.o_value=this.value"onblur="if(!this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?|\.\d*?)?$/))this.valu e=this.o_value;else{if(this.value.match(/^\.\d+$/))this.value=0+this.value;i f(this.value.match(/^\.$/))this.value=0;this.o_value=this.value}">4.只能输入字母和汉字<input onkeyup="value=value.replace(/[\d]/g,'')"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').re place(/[\d]/g,''))" maxlength=10 name="Numbers">5.只能输入英文字母和数字,不能输入中文<input onkeyup="value=value.replace(/[^\w\.\/]/ig,'')">6.只能输入数字和英文<font color="Red">chun</font><input onKeyUp="value=value.replace(/[^\d|chun]/g,'')">7.小数点后只能有最多两位(数字,中文都可输入),不能输入字母和运算符号:<input onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 || /\.\d\d$/.test(value))event.returnValue=false">8.小数点后只能有最多两位(数字,字母,中文都可输入),可以输入运算符号:<inputonkeyup="this.value=this.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')" >只能是数字和小数点和加减乘際onkeypress="return event.keyCode>=4&&event.keyCode<=57"。

实验七_控件使用textbox中只显示数字

实验七_控件使用textbox中只显示数字
(2)源代码
usingSystem;
usingSystem.Collections.Generic;
ponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Threading.Tasks;
usingSystem.Windows.Forms;
namespacetextbox只显示数字
{
publicpartialclassForm1:Form
{
publicForm1()
{
InitializeComponent();
}
privatevoidtextBox1_TextChanged(objectsender,EventArgse)
实验成绩
任课教师签名
********
实验报告
课程名称
C#可视化程序设计
实验名称
实验七、控件使用(二)
日期
***********
学生学号
******
姓名
***
班级
******
实验目的:
通过本次实验,要求学生能熟练使用常用控件。
实验条件:
电脑一台、能上网查阅资料。
实验内容与步骤:
1.实验内容一
(1)要求
按照课后练习inga = textBox1.Text;
for(inti = 0; i < a.Length; i++)
{
charb = a[i];
if(b <'0'|| b >'9')

js正则表达式限制文本框只能输入数字,小数点,英文字母,汉字等各类代码

js正则表达式限制文本框只能输入数字,小数点,英文字母,汉字等各类代码

1.文本框只能输入数字代码(小数点也不能输入)<input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')">2.只能输入数字,能输小数点.<input onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')"><input name=txt1 onchange="if(/\D/.test(this.value)){alert('只能输入数字');this.value='';}">3.数字和小数点方法二<input type=text t_value="" o_value="" onkeypress="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_valu e;elsethis.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this .o_value=this.value"onkeyup="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;e lsethis.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this .o_value=this.value"onblur="if(!this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?|\.\d*?)?$/))this.value=t his.o_value;else{if(this.value.match(/^\.\d+$/))this.value=0+this.value;if(this .value.match(/^\.$/))this.value=0;this.o_value=this.value}">4.只能输入字母和汉字<input onkeyup="value=value.replace(/[\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').repl ace(/[\d]/g,''))" maxlength=10 name="Numbers">5.只能输入英文字母和数字,不能输入中文<input onkeyup="value=value.replace(/[^\w\.\/]/ig,'')">6.只能输入数字和英文<input onKeyUp="value=value.replace(/[^\d|chun]/g,'')">7.小数点后只能有最多两位(数字,中文都可输入),不能输入字母和运算符号:<input onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 || /\.\d\d$/.test(value))event.returnValue=false">8.小数点后只能有最多两位(数字,字母,中文都可输入),可以输入运算符号:<inputonkeyup="this.value=this.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"> 9.只能输入汉字:<input onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').repla ce(/[^\u4E00-\u9FA5]/g,''))">10.只能输入数字:<input onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').repl ace(/[^\d]/g,''))">11.只能输入英文和数字:<input onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').repl ace(/[^\d]/g,''))">12.控制输入框只能输入文字或数字,也可以不允许输入特殊字符这里不允许输入如下字符: (像 !@#$%^&* 等)<br><textarea rows=2 cols=20 name=comments onKeypress="if ((event.keyCode > 32 && event.keyCode < 48) || (event.keyCode > 57 && event.keyCode < 65) || (event.keyCode > 90 && event.keyCode < 97)) event.returnValue = false;">13.只禁止空格输入onkeyup="value=value.replace(/\s/g,'')"14.只能输入中文和英文:onkeyup="value=value.replace(/[^\a-zA-Z\u4E00-\u9FA5]/g,'')"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').repla ce(/[^\a-zA-Z\u4E00-\u9FA5]/g,''))"。

只能输入数字和小数点的正则

只能输⼊数字和⼩数点的正则<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title></head><body><form action="" novalidate> <input type="text" autocomplete="off" id="price" autofocus="autofocus" oninput="value=value.replace(/[^\d^\.]+/g,'')" onkeyup="value=value.replace(/[^\d^\.]+/g,'')"> </form></body></html>注意:这⾥必须加上input。

不然会导致最后⼀个keyup如果输⼊的为字符,会保存下来以上代码其实不能保证只输⼊⼀个⼩数点,要想只输⼊⼀个⼩数点必须加上replace('.','$#$').replace(/\./g,'').replace('$#$','.') // 这⾥⽤到了普通字符串的替换现在可以再测试下了! <input type="text" autocomplete="off" id="price" autofocus="autofocus" onkeyup="value=value.replace(/[^\d^\.]+/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')">补充:只能输⼊数字和⼀个⼩数点的正则表达式var reg = /^\d+$|^\d*\.\d+$/g;reg.test(val) ⽤于判断。

文本框限制只能是数字大写小写

文本框限制只能是数字大写小写input 文本框限制只能是数字/大写/小写1、小写自动转换成大写:<input type="text" name="XianJin" class="input02" style="text-transform:uppercase;">or<input type="text" name="XianJin" onkeyup="this.value=this.value.toLocaleUpperCase()">2、大写自动转换成小写<input type="text" name="XianJin" class="input02" style="text-transform:lowercase;">or<input type="text" name="XianJin" onkeyup="this.value=this.value.toLocaleLowerCase()">3、防止退后清空的TEXT文档<INPUT style=behavior:url(#default#savehistory); type=text id=oPersistInput>4、ENTER键可以让光标移到下一个输入框<inputonkeydown="if(event.keyCode==13)event.keyCode=9" >5、只能为中文(有闪动)<input onkeyup="value=value.replace(/[ -~]/g,'')" onkeydown="if(event.keyCode==13)event.keyCode=9">6、只能为数字(有闪动)<input onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.get Data('text').replace(/[^\d]/g,''))">7、只能为数字(无闪动)<input style="ime-mode:disabled" onkeydown="if(event.keyCode==13)event.keyCode=9" onKeyPress="if ((event.keyCode<48 || event.keyCode>57)) event.returnValue=false">oronkeyup="if(isNaN(value)){alert('必须是数字');value='';}"8、只能输入英文和数字(有闪动)<input onkeyup="value=value.replace(/[\W]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.get Data('text').replace(/[^\d]/g,''))">9、屏蔽输入法<input type="text" name="url" style="ime-mode:disabled" onkeydown="if(event.keyCode==13)event.keyCode=9">10、只能输入数字,小数点,减号(-)字符(无闪动)<input onKeyPress="if (event.keyCode!=46 && event.keyCode!=45 && (event.keyCode<48 || event.keyCode>57)) event.returnValue=false">11、改变输入框字体的大小.按钮字体不变<input name="startdate" type="text" style="font-family: Arial; color: #008000;font-size: 27px" size="10">12、最多可以输入255个字符<textarea name="txt" rows="7" id="txt" onKeyPress="xz()"></textarea><script language="javascript">function xz(){if (txt.value.length>255)event.keyCode=0;txt.value=txt.value.substr(0,255);}</script>常用限制input的方法1.取消按钮按下时的虚线框,在input里添加属性值 hideFocus 或者 HideFocus=trueinput type=submit value=提交 hidefocus=true2.只读文本框内容,在input里添加属性值 readonlyinput type=text readonly3.防止退后清空的TEXT文档(可把style内容做做为类引用)input type=text style=behaviorurl(#default#savehistory);4.ENTER键可以让光标移到下一个输入框input type=text onkeydown=if(event.keyCode==13)event.keyCode=95.只能为中文(有闪动)input type=text onkeyup=value=value.replace([ -~]g,'') onkeydown=if(event.keyCode==13)event.keyCode=96.只能为数字(有闪动)input type=text onkeyup=value=value.replace([^d]g,'') onbeforepaste=clipboardData.setData('text',clipboardData.getD ata('text').replace([^d]g,''))7.只能为数字(无闪动)input type=text style=ime-modedisabled onkeydown=if(event.keyCode==13)event.keyCode=9 onkeypress=if ((event.keyCode48 event.keyCode57)) event.returnValue=false8.只能输入英文和数字(有闪动)input type=text onkeyup=value=value.replace([W]g,'') onbeforepaste=clipboardData.setData('text',clipboardData.getD ata('text').replace([^d]g,''))9.屏蔽输入法input type=text name=url style=ime-modedisabled onkeydown=if(event.keyCode==13)event.keyCode=910. 只能输入数字,小数点,减号(-)字符(无闪动)input onkeypress=if (event.keyCode!=46 && event.keyCode!=45 && (event.keyCode48 event.keyCode57)) event.returnValue=false11. 只能输入两位小数,三位小数(有闪动)input type=text maxlength=9 onkeyup=if(value.match(^d{3}$))value=value.replace(value,pars eInt(value10)) ;value=value.replace(.d.g,'.') onkeypress=if((event.keyCode48 event.keyCode57) && event.keyCode!=46 && event.keyCode!=45 value.match(^d{3}$) .d{3}$.test(value)) {event.returnValue=false}。

限制TextField输入的内容类型:只允许输入数字

限制TextField输⼊的内容类型:只允许输⼊数字效果如下:ViewController.h1#import <UIKit/UIKit.h>23@interface ViewController : UIViewController<UITextFieldDelegate>4 @property (strong, nonatomic) IBOutlet UITextField *txtLimitInput;56@endViewController.m1#import"ViewController.h"23@interface ViewController ()4 - (void)layoutUI;5 - (BOOL)validateNumberByASCII:(NSString *)string;6 - (BOOL)validateNumberByRange:(NSString *)string;7 - (BOOL)validateNumberByRegExp:(NSString *)string;8@end910@implementation ViewController1112 - (void)viewDidLoad {13 [super viewDidLoad];1415 [self layoutUI];16 }1718 - (void)didReceiveMemoryWarning {19 [super didReceiveMemoryWarning];20// Dispose of any resources that can be recreated.21 }2223 - (void)layoutUI {24 _txtLimitInput.placeholder = @"请输⼊数字";2526//第⼀种⽅式:设置键盘类型27//_txtLimitInput.keyboardType = UIKeyboardTypeDecimalPad;2829//第⼆种⽅式:通过 UITextFieldDelegate 的 shouldChangeCharactersInRange: ⽅法30 _txtLimitInput.delegate = self;31 }3233#pragma mark - 三种判断字符串内容是否是有效数字的⽅式34/**35 * 『ASCII码』判断字符串内容是否是有效数字36 *37 * @param string 需要验证的字符串38 *39 * @return 字符串内容是否是有效数字40*/41 - (BOOL)validateNumberByASCII:(NSString *)string {42 BOOL isValid = YES;43 NSUInteger len = string.length;44if (len > 0) {45for (NSUInteger i=0; i<len; i++) {46 NSUInteger asciiCode = [string characterAtIndex:i];47if (asciiCode < 48 || asciiCode > 57) {48 isValid = NO;49break;50 }51 }52 }53return isValid;54 }5556/**57 * 『字符范围』判断字符串内容是否是有效数字58 *59 * @param string 需要验证的字符串60 *61 * @return 字符串内容是否是有效数字62*/63 - (BOOL)validateNumberByRange:(NSString *)string {64 BOOL isValid = YES;65 NSUInteger len = string.length;66if (len > 0) {67 NSCharacterSet *validNumberCS = [NSCharacterSet characterSetWithCharactersInString:@"0123456789"];68 NSUInteger singleStrIndex = 0;69do {70 NSString *singleStr = [string substringWithRange:NSMakeRange(singleStrIndex, 1)];71 NSRange range = [singleStr rangeOfCharacterFromSet:validNumberCS];72if (range.length == 0) {73 isValid = NO;74break;75 }76 singleStrIndex++;77 } while (singleStrIndex < len);78 }79return isValid;80 }8182/**83 * 『正则表达式;推荐使⽤,不⽤循环遍历,控制更灵活』判断字符串内容是否是有效数字84 *85 * @param string 需要验证的字符串86 *87 * @return 字符串内容是否是有效数字88*/89 - (BOOL)validateNumberByRegExp:(NSString *)string {90 BOOL isValid = YES;91 NSUInteger len = string.length;92if (len > 0) {93 NSString *numberRegex = @"^[0-9]*$";94 NSPredicate *numberPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", numberRegex];95 isValid = [numberPredicate evaluateWithObject:string];96 }97return isValid;98 }99100#pragma mark - UITextFieldDelegate101 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {102//return [self validateNumberByASCII:string];103//return [self validateNumberByRange:string];104return [self validateNumberByRegExp:string]; //推荐⽅式105 }106107@endMain.storyboard1<?xml version="1.0" encoding="UTF-8" standalone="no"?>2<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="7706" systemVersion="14E46" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollect 3<dependencies>4<deployment identifier="iOS"/>5<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="7703"/>6</dependencies>7<scenes>8<!--View Controller-->9<scene sceneID="ufC-wZ-h7g">10<objects>11<viewController id="vXZ-lx-hvc" customClass="ViewController" sceneMemberID="viewController">12<layoutGuides>13<viewControllerLayoutGuide type="top" id="jyV-Pf-zRb"/>14<viewControllerLayoutGuide type="bottom" id="2fi-mo-0CV"/>15</layoutGuides>16<view key="view" contentMode="scaleToFill" id="kh9-bI-dsS">17<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>18<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>19<subviews>20<textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" minimumFontSize="17" translatesAutoresizingMa 21<rect key="frame" x="200" y="285" width="200" height="30"/>22<constraints>23<constraint firstAttribute="width" constant="200" id="8dl-R0-OzV"/>24</constraints>25<fontDescription key="fontDescription" type="system" pointSize="14"/>26<textInputTraits key="textInputTraits"/>27</textField>28<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="限制 Text Field 输⼊的内容类型" lineBreakMode="tailTruncation" baselineAdjustme 29<rect key="frame" x="200" y="255" width="196" height="17"/>30<fontDescription key="fontDescription" type="system" pointSize="14"/>31<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>32<nil key="highlightedColor"/>33</label>34</subviews>35<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>36<constraints>37<constraint firstItem="mb3-C5-UpN" firstAttribute="centerX" secondItem="kh9-bI-dsS" secondAttribute="centerX" id="Dh5-bw-2LN"/>38<constraint firstItem="mb3-C5-UpN" firstAttribute="centerY" secondItem="kh9-bI-dsS" secondAttribute="centerY" id="Lby-hq-mya"/>39<constraint firstItem="mb3-C5-UpN" firstAttribute="leading" secondItem="8zf-7E-ija" secondAttribute="leading" id="SyI-SC-iNN"/>40<constraint firstItem="mb3-C5-UpN" firstAttribute="top" secondItem="8zf-7E-ija" secondAttribute="bottom" constant="13" id="yuO-kC-OCZ"/>41</constraints>42</view>43<connections>44<outlet property="txtLimitInput" destination="mb3-C5-UpN" id="cYi-Ep-sWq"/>45</connections>46</viewController>47<placeholder placeholderIdentifier="IBFirstResponder" id="x5A-6p-PRh" sceneMemberID="firstResponder"/>48</objects>49</scene>50</scenes>51</document>。

控制在input的text里输入的值只能是数字

event.returnValue = char.match(re) != null ? true : false
}
function filterInput()
{
if (event.type.indexOf("key") != -1)
{
var re = /37|38|39|40/g
if (event.keyCode.toString().match(re)) return false
控制在input的text里输入的值只能是数字
控制在input的text里输入的值只能是数字
ASK:写一个小程序,在input的type="text"里控制只能输入数字,如果输入其他字符则会出现提示框!请问怎么做啊?
几种方法:
1、
<script language=java script>
function onlyNum()
5、另一个不错的:
<input onkeypress="return(event.keyCode>=48&&event.keyCode<=57)" style="ime-mode:disabled" onbeforepaste="clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^\d]/g,’’))">
<input type="text" name="tt" onkeyup="check();">
3、
<script language=jscript>
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VC-文本框只能输入数字和小数 源文件 #include "stdafx.h" #include "NumberEdit.h"

CNumberEdit::CNumberEdit() { m_iAfterDotLen = 2; m_str = _T("0"); }

CNumberEdit::~CNumberEdit() { }

BEGIN_MESSAGE_MAP(CNumberEdit, CEdit) //{{AFX_MSG_MAP(CNumberEdit) ON_WM_CHAR() ON_CONTROL_REFLECT(EN_KILLFOCUS, OnKillfocus) //}}AFX_MSG_MAP END_MESSAGE_MAP()

void CNumberEdit::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags) { // 修改消息响应 if(nChar == 8) { //退格 CEdit::OnChar(nChar, nRepCnt, nFlags); return; } BOOL bChange = FALSE; GetWindowText(m_str); if(CheckNumber(nChar,nRepCnt,nFlags)) { //检查输入为数字 bChange = TRUE; } else if(CheckOneMinus(nChar,nRepCnt,nFlags)) { //检查只有一个负号,且只能是第一个字符 bChange = TRUE; } else if(CheckOneDot(nChar,nRepCnt,nFlags)) { //检查只有一个小数点 bChange = TRUE; } if(bChange) { CEdit::OnChar(nChar, nRepCnt, nFlags); } }

void CNumberEdit::OnKillfocus() { // 修改消息响应 //失去焦点时,小数按设置的小数点后数据长度补齐 GetWindowText(m_str); if(m_str.IsEmpty()) { //未输入数据则设为0 m_str = "0"; } else if(m_str.GetLength() == 1 && m_str[0] == TCHAR('-')) { //只输入了一个负号 m_str = "0"; } else { int iDotPos = m_str.Find(TCHAR('.')); if(iDotPos <0) { //没有找到小数点 SetWindowText(m_str); return; } if(iDotPos >0) { //小数点后已有位数 int iLen = m_str.GetLength() - 1 - iDotPos; if(iLen >= m_iAfterDotLen) { //已有位数超过设定 return; } if (iLen == 0) { //小数点后没有数据则用0补齐 m_str+="0"; } } } SetWindowText(m_str); }

BOOL CNumberEdit::CheckNumber(UINT nChar,UINT nRepCnt,UINT nFlags) { if(::isdigit(nChar)==0) { //是否数字 return FALSE; } //小数点位置 int iDotPos = m_str.Find(TCHAR('.')); if(iDotPos >= 0) { //小数据点后数据长度 int iLen = m_str.GetLength() - 1 - iDotPos; if( (GetCaretXPos() >= iDotPos) && (iLen >= m_iAfterDotLen)) { //超过设置的长度 return FALSE; } } return TRUE; }

BOOL CNumberEdit::CheckOneMinus(UINT nChar,UINT nRepCnt,UINT nFlags) { if(nChar != '-') { //不是'-' return FALSE; } if(GetCaretXPos() != 0) { //不在第一个位置 return FALSE; } if(!m_str.IsEmpty() && m_str.GetAt(0) == TCHAR('-')) { return FALSE; } return TRUE; }

BOOL CNumberEdit::CheckOneDot(UINT nChar,UINT nRepCnt,UINT nFlags) { if (m_iAfterDotLen == 0) { //小数点后不加数据(限制为整数) return FALSE; } if(nChar != '.') { //不是小数点 return FALSE; } if(m_str.Find(TCHAR('.')) >=0) { //已有小数点 return FALSE; } int iPos = GetCaretXPos(); if(iPos == 0) { //第一个字符就是小数点! return FALSE; } else if(iPos==1 && m_str[0] == TCHAR('-')) { //第一个字符是'-',第二个是小数点 return FALSE; } return TRUE; }

int CNumberEdit::GetCaretXPos() { CPoint p = GetCaretPos(); return (p.x - p.y)/6; }

double CNumberEdit::GetDouble() { GetWindowText(m_str); return atof(m_str); } long CNumberEdit::GetLong() { GetWindowText(m_str); return atol(m_str); }

void CNumberEdit::SetWindowText( CString str ) { m_str = str; char nChar; UINT nRepCnt = 0; UINT nFlags = 0; BOOL bChange = FALSE; for (int nstr = 0;nstr < str.GetLength() - 1;++nstr) { //取得字符 nChar = str.GetAt(nstr); if(!CheckNumber(nChar,nRepCnt,nFlags) && (!CheckOneMinus

(nChar,nRepCnt,nFlags)) && (!CheckOneDot(nChar,nRepCnt,nFlags))) { //检查初始化文本数据 bChange = TRUE; } } if(!bChange) { int iDotPos = m_str.Find(TCHAR('.')); if(iDotPos >0) { //小数点后已有位数 int iLen = m_str.GetLength() - 1 - iDotPos; if (iLen == 0) { //小数点后没有数据则用0补齐 m_str+="0"; } } CEdit::SetWindowText(m_str); } } void CMVSpinEdit::OnEditUpdate() {

CString csAreaS; m_edit.GetWindowText( csAreaS ); // 只允许输数据 int nStringLength = csAreaS.GetLength(); int nDotCount = 0; int nFloatNum = -1; // 点字符不能多于1个 for ( int nIndex = 0; nIndex < nStringLength; nIndex++ ) { if(nFloatNum >= 0) //小数点位数 { nFloatNum++; } if ( csAreaS[ nIndex ] == '.' ) { nFloatNum = 0; nDotCount++; if ( nDotCount > 1 || m_nFloatNum == 0) {

相关文档
最新文档