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

1、在DataGrid中更新数据时,校验输入内容是否是全角字母或数字的方法
使用方法:在DataGrid中的OnUpdatingCell事件中调用下面的方法,并传入相应参数即可。
 
function ValidateDataGridUpdatingValue( sender, eventArgs )
{
    var strTest = /[uFF10-uFF19uFF21-uFF3AuFF41-uFF5A]+/;
   
    if(strTest.test(eventArgs["Value"]))
    {
       eventArgs["Value"] = eventArgs["InitialValue"];
       return false;     
    }
    else
    {
       return true;
    }
}
 
2、对于输入的普通字符串校验全角字母与数字的方法
 
function ValidateFullWidthStr(strText)
{
    var strTest = /[uFF10-uFF19uFF21-uFF3AuFF41-uFF5A]+/;
    if(strTest.test(strText))
    {
       return true;
    }
}
此方法的扩展
对于具有Text属性的控件(如TextBox,TextArea,ComboBox等),可以将参数设为控件对象,根据对象的Text进行校验。
 
function ValidateFullWidthStr( sender )
{
    var strTest = /[uFF10-uFF19uFF21-uFF3AuFF41-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})$  身份证
原文地址:https://www.cnblogs.com/csschn/p/4724267.html