正则表达式,可以理解为字符匹配或搜索技术 ,重要的是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. Thread.join简单介绍

    百度了一下,终于明白了.这个解释最简单: 前提:join()方法肯定是被某个线程调用的.   A线程正在执行,突然执行的时候碰到了B.join(), 那么,A线程就必须要等到B线程执行完之后才能执行. ...

  2. OAF_开发系列15_实现OAF组件重用和继承(案例)

    20150717 Created By BaoXinjian

  3. 解压版Tomcat配置

    解压版Tomcat配置(本例Tomcat6):   一 配置Tomcat 1 下载Tomcat Zip压缩包,解压.      如果增加tomcat的用户名和密码,则修改/conf/tomcat-us ...

  4. Python基础(二)之模块

    模块:人们写好的一系列用于实现某种功能的代码封装起来,需要使用的时候直接调用即可. 模块分类:标准模块.第三方模块 标准模块:不需要安装,直接调用即可 第三方模块:需要安装后才可使用 注意:自己创建的 ...

  5. 【javascript杂谈】你所不知道的replace函数

    前言 最近在做面试题的时候总会用到这个函数,这个函数总是和正则表达式联系到一起,并且效果很是不错,总能很简单出色的完成字符串的实际问题,大家肯定都会使用这个函数,像我一样的初学者可能对这个函数的了解还 ...

  6. VS2010中的查找和替换中正则的使用

    只是记下来怕以后忘记了: 查找:/news/(\d+).html 要匹配(\d+),记得用括号 替换为:/NewsDetails.aspx?id=$1 $1表示匹配的结果

  7. MYSQL PERFORMANCE_SCHEMA HINTS

    ACCOUNTS NOT PROPERLY CLOSING CONNECTIONS [ 1 ] Works since 5.6 SELECT ess.user, ess.host , (a.total ...

  8. SQL归档

    /* 作用:归档3个月前的短信发送记录 创建人:zhuxiang 日期:2012-10-30 */ ALTER Proc [dbo].[Sms_Job_History_Send] As Begin D ...

  9. mysql常用单行函数

    一.大小写控制函数 LOWER(str)    将str的值全部置为小写字母 select LOWER('ABC'); --结果: LOWER('ABC') abc UPPER(str)    将st ...

  10. 统计在从1到n的正整数中1出现的次数

    问题: 给定一个十进制正整数N,写下从1开始,到N的所有整数,然后数一下其中出现的所有“1”的个数. 例如:N= 2,写下1,2.这样只出现了1个“1”. N= 12,我们会写下1, 2, 3, 4, ...