csschn

Android,你等等我。。。

导航

正则表达式在STARLIMS中的应用总结

1、在DataGrid中更新数据时,校验输入内容是否是全角字母或数字的方法
使用方法:在DataGrid中的OnUpdatingCell事件中调用下面的方法,并传入相应参数即可。
 
function ValidateDataGridUpdatingValue( sender, eventArgs )
{
    var strTest = /[\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A]+/;
   
    if(strTest.test(eventArgs["Value"]))
    {
       eventArgs["Value"] = eventArgs["InitialValue"];
       return false;     
    }
    else
    {
       return true;
    }
}
 
2、对于输入的普通字符串校验全角字母与数字的方法
 
function ValidateFullWidthStr(strText)
{
    var strTest = /[\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A]+/;
    if(strTest.test(strText))
    {
       return true;
    }
}
此方法的扩展
对于具有Text属性的控件(如TextBox,TextArea,ComboBox等),可以将参数设为控件对象,根据对象的Text进行校验。
 
function ValidateFullWidthStr( sender )
{
    var strTest = /[\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A]+/;
    if(strTest.test(sender.Text.Trim()))
    {
       return true;
    }
}
 
3、获取字符串的字节总数
此方法为中英文与数字(包括英文与数字的全角)混合字符串的计算方法:
 
function ByteCount(strText)
{
    var byteCount = 0;
    for(var i=0; i<strText.Length; i++)
    {      
       if( strText.charCodeAt(i) > 255 || strText.charCodeAt(i) < 0)
       {
           byteCount+=2;
       }
       else
       {
           byteCount++;
       }
    }
    return byteCount;
}
 
下面的方法是用正则表达式计算字符串的字节总数,其计算的字符串类型和效果与上一方法相同。
 
function ByteCount(strText)
{
    var byteCount = strText.replace(/[^\x00-\xff]/g,"**").length;
    return byteCount;
}



正则表达式  备注
^-?[1-9]\\d*$  整数
^[1-9]\\d*$  正整数
^-[1-9]\\d*$  负整数
^([+-]?)\\d*\\.?\\d+$  数字
d*\\-?\\d+$  电话或手机
^[1-9]\\d*|0$  正数(正整数 + 0)
^-[1-9]\\d*|0$  负数(负整数 + 0)
^([+-]?)\\d*\\.\\d+$  浮点数
^[1-9]\\d*.\\d*|0.\\d*[1-9]\\d*$  正浮点数
^-([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*)$  负浮点数
^-?([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*|0?.0+|0)$  浮点数
^[1-9]\\d*.\\d*|0.\\d*[1-9]\\d*|0?.0+|0$  非负浮点数(正浮点数 + 0)
^(-([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*))|0?.0+|0$  非正浮点数(负浮点数 + 0)
^\\w+((-\\w+)|([url=file://\\.\\w+))*\\@[A-Za-z0-9]+((\\.|-)[A-Za-z0-9]+)*\\.[A-Za-z0-9]+$]\\.\\w+))*\\@[A-Za-z0-9]+((\\.|-)[A-Za-z0-9]+)*\\.[A-Za-z0-9]+$[/url]  电子邮件
^[a-fA-F0-9]{6}$  颜色
^http?:\\/\\/([\\w-]+\\.)+[\\w-]+([\\w-./?%&=]*)?$"  URL
^[\\u4E00-\\u9FA5\\uF900-\\uFA2D]+$  仅中文
^[\\x00-\\xFF]+$  仅ACSII字符
^\\d{6}$  邮编
^(13|15)[0-9]{9}$  手机
^([url=file://\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5]).(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5]).(d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5]).(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])$]\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5]).(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5]).(d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5]).(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])$[/url]  ip4地址
^\\S+$  非空
(.*)\\.(jpg|bmp|gif|ico|pcx|jpeg|tif|png|raw|tga)$  图片
(.*)\\.(rar|zip|7zip|tgz)$  rar文件
^\\d{4}(\\-|\\/|\.)\\d{1,2}\\1\\d{1,2}$  日期
^[1-9]*[1-9][0-9]*$  QQ号码
(\\d{3}-|\\d{4}-)?(\\d{8}|\\d{7})  国内电话
^(?!\\d)[a-zA-Z0-9\\u4e00-\\u9fa5]+$  用来用户注册。匹配由数字、26个英文字母或者下划线组成的字符串
^[A-Za-z]+$  字母
^[A-Z]+$  大写字母
^[a-z]+$  小写字母
^[1-9]([0-9]{14}|[0-9]{17})$  身份证

posted on 2015-08-12 14:33  csschn  阅读(598)  评论(0编辑  收藏  举报