在使用验证控件的时候,如何使用一个正则表达式来控制用户只能输入数字,又如何控制这个数字的大小。?还有,当控制用户只能输入数字的时候,如何屏蔽掉其他的字符输入?
^[a-zA-Z]{1}([a-zA-Z0-9]|[._])[4-15]$
验证只能输入以字母开头、可带数字、“_”、“.”的5-16个字符
using System.Text.RegularExpressions;
string ex = "^\d*$";
Regex reg = new Regex( ex );
bool flag = reg.IsMatch(要检查的字符串);
正则只能比对格式
但是不能判断大小
如果要判断格式为数字的话winzheng 的就可以 不过建议
string ex = "^\d*$";
改为
string ex = "^\d+$";
判断大小你用js吧
不信的话在服务器端判断也可以
至于屏蔽其他操作
网上应该有
你自己去找找吧
用js+正则
谁说的正则表达式不可以控制文本的长度
string filter = "^\d{5,12}$"; //只匹配5到12位的整数,可自行修改
Regex regex = new Regex(filter);
bool result = regex.IsMatch(this.TextBox1.Text);
JS 部分:
//Only Number(0-9) Can Be Input
function isNumberKey(evt) {
var charCode = (evt.which) ? evt.which : event.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57))
return false;
return true;
}
//Check Number
function checkNumber(obj) {
var value = obj.value;
value = value.replace(/[^\d]/g, '');
obj.value = value;
}
<input id="txtNumber" onkeypress="return isNumberKey(event)" onkeyup="checkNumber(this)"
type="text" name="txtNumber">