先判断下不就OK了if textbox1.text!="" if IsNumeric(textBox1.text) //IsNumeric 是VB.NET中的一个系统函数 if -2147483648 <Convert.ToInt32(textbox1.text)<2147483647 if Regex.IsMatch(textbox1.text,(@"^-?\d+$") then Response.Write("OK"); else Response.Write("Failed,ErrType1");else Response.Write("Failed,ErrType2");
命名空间:Microsoft.VisualBasic 程序集:Microsoft.VisualBasic(在 microsoft.visualbasic.dll 中)语法 Visual Basic(声明) Public Shared Function IsNumeric ( _ Expression As Object _ ) As Boolean
Visual Basic(用法) Dim Expression As Object Dim returnValue As BooleanreturnValue = Information.IsNumeric(Expression)
C# public static bool IsNumeric ( Object Expression )
C++ public: static bool IsNumeric ( Object^ Expression )
J# public static boolean IsNumeric ( Object Expression )
JScript public static function IsNumeric ( Expression : Object ) : boolean
<asp:RangeValidator ID="RangeValidator1" runat="server" ControlToValidate="txtCostTime" ErrorMessage="Cost time must be 0 to 24." MaximumValue="24" MinimumValue="0" Type="Integer">*</asp:RangeValidator>
是否数字的正则表达式用"^-?\\d+$"。
正解
正则表达式可以控制范围吗?
==============
麻烦
可以加一个RequireField的验证控件.
指定它的ValidateEmptyText属性为真,指定ClientValidationFunction为客户端验证方法比如cv
然后批定客户端验证方法来实现
<script type="text/javascript">
function cv(src, arg){
//使用自定义验证控件
var o=arg.Value;
//必须输入
if(o==''){
arg.IsValid=false;
}
else if(/^-?\d+$/.test(o)){
//正则验证
if(o/1 > 2147483647 || o/1 < -2147483648){
//范围验证
arg.IsValid=false;
}
else{
//三个检查全部通过
arg.IsValid=true;
}
}
else{
//正则没有通过
arg.IsValid=false;
}
}
</script>
可以加一个RequireField的验证控件.
if IsNumeric(textBox1.text) //IsNumeric 是VB.NET中的一个系统函数
if -2147483648 <Convert.ToInt32(textbox1.text)<2147483647
if Regex.IsMatch(textbox1.text,(@"^-?\d+$") then
Response.Write("OK");
else
Response.Write("Failed,ErrType1");else
Response.Write("Failed,ErrType2");
"^\d+$" //非负整数(正整数 + 0)
"^[0-9]*[1-9][0-9]*$" //正整数
"^((-\d+)|(0+))$" //非正整数(负整数 + 0)
"^-[0-9]*[1-9][0-9]*$" //负整数
"^-?\d+$" //整数
"^\d+(\.\d+)?$" //非负浮点数(正浮点数 + 0)
"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$" //正浮点数
"^((-\d+(\.\d+)?)|(0+(\.0+)?))$" //非正浮点数(负浮点数 + 0)
"^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$" //负浮点数
"^(-?\d+)(\.\d+)?$" //浮点数
"^\d+$" //非负整数......
"^\d+$" //非负整数(正整数 + 0)
"^[0-9]*[1-9][0-9]*$" //正整数
"^((-\d+)|(0+))$" //非正整数(负整数 + 0)
"^-[0-9]*[1-9][0-9]*$" //负整数
"^-?\d+$" //整数
"^\d+(\.\d+)?$" //非负浮点数(正浮点数 + 0)
"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$" //正浮点数
"^((-\d+(\.\d+)?)|(0+(\.0+)?))$" //非正浮点数(负浮点数 + 0)
"^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$" //负浮点数
"^(-?\d+)(\.\d+)?$" //浮点数 匹配中文字符的正则表达式: [\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):[^\x00-\xff]
应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
String.prototype.len=function(){return this.replace([^\x00-\xff]/g,"aa").length;}
匹配空行的正则表达式:
[\s| ]*\r
匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/
匹配首尾空格的正则表达式:(^\s*)|(\s*$)
应用:javascript中没有像vbscript那样的trim函数,我们就可以利用这个表达式来实现,如下:
String.prototype.trim = function()
{
return this.replace(/(^\s*)|(\s*$)/g, "");
}
利用正则表达式分解和转换IP地址:
下面是利用正则表达式匹配IP地址,并将IP地址转换成对应数值的javascript程序:
function IP2V(ip)
{
re=/(\d+)\.(\d+)\.(\d+)\.(\d+)/g //匹配IP地址的正则表达式
if(re.test(ip))
{
return RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1
}
else
{
throw new Error("Not a valid IP address!")
}
}
不过上面的程序如果不用正则表达式,而直接用split函数来分解可能更简单,程序如下:
var ip="10.100.20.168"
ip=ip.split(".")
alert("IP值是:"+(ip[0]*255*255*255+ip[1]*255*255+ip[2]*255+ip[3]*1))
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配网址URL的正则表达式:http://( [\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
得用正则表达式从URL地址中提取文件名的javascript程序,如下结果为page1
s="http://www.9499.net/page1.htm";
s=s.replace(/(.*\/){0,}([^\.]+).*/ig,"$2")
alert(s)
利用正则表达式限制网页表单里的文本框输入内容:
用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"
用正则表达式限制只能输入全角字符: onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))"
用正则表达式限制只能输入数字:onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
用正则表达式限制只能输入数字和英文:onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
正则表达式,正规表达式,正则表达式匹配,正则表达式语法,模式匹配,正规表达式匹配 javascript正则表达式 ASP正则表达式 ASP.NET正则表达式 C#正则表达式 JSP正则表达式 PHP正则表达式 VB.NET正则表达式 VBSCript正则表达式编程 delphi正则表达式 jscript
程序集:Microsoft.VisualBasic(在 microsoft.visualbasic.dll 中)语法
Visual Basic(声明)
Public Shared Function IsNumeric ( _
Expression As Object _
) As Boolean
Visual Basic(用法)
Dim Expression As Object
Dim returnValue As BooleanreturnValue = Information.IsNumeric(Expression)
C#
public static bool IsNumeric (
Object Expression
)
C++
public:
static bool IsNumeric (
Object^ Expression
)
J#
public static boolean IsNumeric (
Object Expression
)
JScript
public static function IsNumeric (
Expression : Object
) : boolean
参数
Expression
必选。Object 表达式。返回值
返回一个 Boolean 值,指示表达式的计算结果是否为数字。
备注
有关详细信息,请参见 Visual Basic 主题 IsNumeric 函数 (Visual Basic)。如果 Expression 的数据类型为 Boolean、Byte、Decimal、Double、Integer、Long、SByte、Short、Single、UInteger、ULong 或 UShort,则 IsNumeric 返回 True。如果 Expression 是可以成功转换为数字的 Char、String 或 Object,则它也将返回 True。如果 Expression 的数据类型为 Date,则 IsNumeric 返回 False。如果 Expression 是无法成功转换为数字的 Char、String 或 Object,则它也将返回 False
搜索下 就有你想要的了``------------------------------------------------------------------------------------------
此群以后只讨论嵌入式相关,关于高级语言设计的朋友们,请加高级语言(VB,VC,Delphi,.NET等)程序设计群:21991228
谢谢合作
ErrorMessage="Cost time must be 0 to 24." MaximumValue="24" MinimumValue="0"
Type="Integer">*</asp:RangeValidator>