正则表达式,可以理解为字符匹配或搜索技术 ,重要的是Pattern属性的写法.

*--判断是否是手机号码
Function isMobiPhone
Lparameters cStr
oRegExp=Newobject("QYRegexp","Prg\qyregexp.prg")
oRegExp.Pattern="1\d{10}" &&表示1开头,匹配10位都是数字
oRegExp.IgnoreCase=.T.
Return oRegExp.test(cstr)
Endproc
*--判断是否是邮件地址
Function isEmailAddr(tcEmai)
Local oRegExp
oRegExp=CREATEOBJECT("QyRegExp")
oRegExp.Pattern = "^(([A-Za-z0-9]+_+)|" ;
+ "([A-Za-z0-9]+\-+)|" ;
+ "([A-Za-z0-9]+\.+)|" ;
+ "([A-Za-z0-9]+\++))*" ;
+ "[A-Za-z0-9]+@((\w+\-+)|" ;
+ "(\w+\.))*\w{1,63}\.[a-zA-Z]{2,6}$"
Return oRegExp.test(tcEmai)
Endfunc

*--Global属性 是否查找全字符串 IgnoreCase属性 是否忽略大小写
*--Pattern属性设置或返回用于搜索的正则表达式 见网站上
*--Test方法对字符串执行正则表达式搜索,并返回一个布尔值说明匹配是否成功
*--Replace 这个方法用于替换在正则表达式搜索中找到的文本
*--Execute 这个方法将正则表达式应用到字符串上 并返回当前类中Matches数组
Define Class QyRegExp As Custom
Pattern="*"
Dimension matches(1,1)
matches=.F.
Global=.T.
IgnoreCase=.F.
oRegExp=.F.

Procedure Clear
This.Pattern = "*"
This.matches = .F.
Endproc

Procedure test
Lparameters cStr
Local loRegExp
loRegExp=Createobject("VBScript.RegExp")
loRegExp.Global=This.Global
loRegExp.Ignorecase=This.Ignorecase
loRegExp.Pattern=This.Pattern
Return loRegExp.Test(cStr)
Endproc

Procedure Replace
Lparameters cStr,cReplacestr
Local loRegExp
loRegExp=Createobject("VBScript.RegExp")
loRegExp.Global=This.Global
loRegExp.Ignorecase=This.Ignorecase
loRegExp.Pattern=This.Pattern
Return loRegExp.Replace(cStr,cReplacestr)
Endproc

Procedure Execute
Lparameters tcStr
Local loMatch, loMatches, i
Local loRegExp
loRegExp=Createobject("VBScript.RegExp")
loRegExp.Global=This.Global
loRegExp.Ignorecase=This.Ignorecase
loRegExp.Pattern=This.Pattern

loMatches = loRegExp.execute(tcStr)
Dimension This.matches[Max(loMatches.count,1),2]
taMatchInfo = .F.
i = 1
For Each loMatch In loMatches
This.matches[i, 1] = loMatch.firstIndex + 1 && fox strings are not zero-based
This.matches[i, 2] = loMatch.Value
i = i + 1
Endfor
loMatches = .F.
loRegEx = .F.
Return i -1
Enddefine
扩展问读看这里
http://www.baidu.com/link?url=VT-ZYtKQjECWcCwBZ_4UKKXLyq_B5JNbYIGHla-HyvXEco4VPmXISGUVOlge_ZXS_PC3EtdWgFDLb5-AlTzXBa

VFP正则表达式判断是否是手机号码/电子邮件的更多相关文章

  1. iOS - 正则表达式判断邮箱、身份证..是否正确:

    iOS - 正则表达式判断邮箱.身份证..是否正确: //邮箱 + (BOOL) validateEmail:(NSString *)email {     NSString *emailRegex ...

  2. 最全,可直接用的一些正则校验,判断邮箱,手机号码,车牌号,身份证号,网址,账号,密码,ip,去掉html格式,工商税号等。

    一些正则校验,判断邮箱,手机号码,车牌号,身份证号,网址,账号,密码,ip,去掉html格式,工商税号等. // 判断邮箱 isValid = [text isValidEmail]; // 判断手机 ...

  3. Java中常用的正则表达式判断,如IP地址、电话号码、邮箱等

    java中我们会常用一些判断如IP.电子邮箱.电话号码的是不是符合,那么我们怎么来判断呢,答案就是利用正则表达式来判断了,因为本人对正则表达式没有太深的研究,所有感兴趣的朋友可以自行百度.我这就给基本 ...

  4. iOS 正则表达式-判断邮箱、手机号

    判断是否是邮箱 -(BOOL)isValidateEmail:(NSString *)email { NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[ ...

  5. JavaScript中正则表达式判断匹配规则以及常用的方法

    JavaScript中正则表达式判断匹配规则以及常用的方法: 字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在. 正则表达式是一种用来匹配字符串的强有力的武器.它的设计思想 ...

  6. Java中用正则表达式判断日期格式是否正确

    1.Java中用正则表达式判断日期格式是否正确 DateType.java: /** * @Title:DateType.java * @Package:com.you.dao * @Descript ...

  7. ios-邮箱正则表达式判断

    - (void)loadData { NSMutableArray *array = [NSMutableArray arrayWithCapacity:10]; if ([self.title is ...

  8. iOS开发-通过正则表达式判断字符串是否为纯阿拉伯数字

    iOS开发-通过正则表达式判断字符串是否为纯阿拉伯数字 简述:NSString * regex_0 = @"\\d{1,}";   /*允许首位为0*/ NSString * re ...

  9. C# 正则表达式判断IP,URL等及其解释

    C# 正则表达式判断IP,URL等及其解释 判断IP格式方法: public static bool ValidateIPAddress(string ipAddress) { Regex valid ...

随机推荐

  1. Unity关于获取游戏对象

    我觉得Unity里面的Transform 和 GameObject就像两个双胞胎兄弟一样,这俩哥们很要好,我能直接找到你,你也能直接找到我.我看很多人喜欢在类里面去保存GameObject对象.解决G ...

  2. ylbtech-Miscellaneos

    ylbtech-Miscellaneos: A,返回顶部 1, 2, B返回顶部 1, 2 作者:ylbtech出处:http://ylbtech.cnblogs.com/本文版权归作者和博客园共有, ...

  3. log_format为Nginx设置日志格式

    nginx服务器日志相关指令主要有两条,一条是log_format,用来设置日志格式, 另外一条是access_log,用来指定日志文件的存放路径.格式和缓存大小,一般在nginx的配置文件中日记配置 ...

  4. Unity3d之json解析研究

    Unity3d之json解析研究     json是好东西啊!JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式      JSON简单易用,我要好好研究一下 ...

  5. ThrottleAttribute

    /// <summary> /// Decorates any MVC route that needs to have client requests limited by time. ...

  6. <-0基础学python.第2课->

    今天闲着无聊,有想鼓捣Python了,想实现网络爬虫,帮我下载音乐的功能. 现在网上找了相关的一些文章教程 http://jecvay.com/2014/09/python3-web-bug-seri ...

  7. Linux中exit与_exit的区别

    在exit,_exit的区别 - exit()与_exit()函数的区别(Linux系统中)2012-03-20 15:19:53 分类: LINUX 注:exit()就是退出,传入的参数是程序退出时 ...

  8. 如何安装NodeJS到阿里云Centos (64位版本V5-7)

    如何安装NodeJS到阿里云Centos (64位版本V5-7) (Centos与Red Hat® Enterprise Linux® / RHEL, Fedora属于一类) 1) 安装v0.10版 ...

  9. 字符集和字符编码(Charset & Encoding)

    字符集和字符编码(Charset & Encoding)[转] 1.基础知识 计算机中储存的信息都是用二进制数表示的:而我们在屏幕上看到的英文.汉字等字符是二进制数转换之后的结果.通俗的说,按 ...

  10. Web打印--Lodop API

    Lodop是一款专业的WEB打印控件,其设计目标是简单易用.功能足够强大,开创WEB打印开发的新局面. Lodop设计者对WEB下的打印开发任务进行了分类汇总,高度抽象,设计出仅用几个功能函数,就可实 ...