zoukankan      html  css  js  c++  java
  • 正则表达式在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})$  身份证
  • 相关阅读:
    cocos2dx的MotionStreak.cpp解析(-)
    gcc/g++基本命令简介
    C++编译器与链接器工作原理
    简单介绍 ARC 以及 ARC 实现的原理
    求两个链表表示的数的和
    对象内存结构中的 isa 指针是用来做什么的?
    按层遍历二叉树的节点
    一个 Objective-C 对象的内存结构是怎样的?
    创建一个可以被取消执行的 block
    TCP&UDP
  • 原文地址:https://www.cnblogs.com/csschn/p/4724267.html
Copyright © 2011-2022 走看看