VFP正则表达式判断是否是手机号码/电子邮件
正则表达式,可以理解为字符匹配或搜索技术 ,重要的是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正则表达式判断是否是手机号码/电子邮件的更多相关文章
- iOS - 正则表达式判断邮箱、身份证..是否正确:
iOS - 正则表达式判断邮箱.身份证..是否正确: //邮箱 + (BOOL) validateEmail:(NSString *)email { NSString *emailRegex ...
- 最全,可直接用的一些正则校验,判断邮箱,手机号码,车牌号,身份证号,网址,账号,密码,ip,去掉html格式,工商税号等。
一些正则校验,判断邮箱,手机号码,车牌号,身份证号,网址,账号,密码,ip,去掉html格式,工商税号等. // 判断邮箱 isValid = [text isValidEmail]; // 判断手机 ...
- Java中常用的正则表达式判断,如IP地址、电话号码、邮箱等
java中我们会常用一些判断如IP.电子邮箱.电话号码的是不是符合,那么我们怎么来判断呢,答案就是利用正则表达式来判断了,因为本人对正则表达式没有太深的研究,所有感兴趣的朋友可以自行百度.我这就给基本 ...
- iOS 正则表达式-判断邮箱、手机号
判断是否是邮箱 -(BOOL)isValidateEmail:(NSString *)email { NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[ ...
- JavaScript中正则表达式判断匹配规则以及常用的方法
JavaScript中正则表达式判断匹配规则以及常用的方法: 字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在. 正则表达式是一种用来匹配字符串的强有力的武器.它的设计思想 ...
- Java中用正则表达式判断日期格式是否正确
1.Java中用正则表达式判断日期格式是否正确 DateType.java: /** * @Title:DateType.java * @Package:com.you.dao * @Descript ...
- ios-邮箱正则表达式判断
- (void)loadData { NSMutableArray *array = [NSMutableArray arrayWithCapacity:10]; if ([self.title is ...
- iOS开发-通过正则表达式判断字符串是否为纯阿拉伯数字
iOS开发-通过正则表达式判断字符串是否为纯阿拉伯数字 简述:NSString * regex_0 = @"\\d{1,}"; /*允许首位为0*/ NSString * re ...
- C# 正则表达式判断IP,URL等及其解释
C# 正则表达式判断IP,URL等及其解释 判断IP格式方法: public static bool ValidateIPAddress(string ipAddress) { Regex valid ...
随机推荐
- win10 下 gulp-sass 无法使用的解决
参考链接: http://stackoverflow.com/questions/28409100/try-reinstalling-node-sass-on-node-0-12 解决方法: npm ...
- bug__android studio 出现布局文件不提示,且点击代码不能跟踪代码
1,点击布局文件,出现 Cannot find declaration to go to ? 且 点击代码不能跟踪代码? 把 项目的build.gradle 中的 compileSdkVersi ...
- ASP.NET管道
以IIS 6.0为例,在工作进程w3wp.exe中,利用Aspnet_ispai.dll加载.NET运行时(如果.NET运行时尚未加载).IIS 6引入了应用程序池的概念,一个工作进程对应着一个应用程 ...
- ubuntu下编译protobuf
参考: http://blog.csdn.net/wuzuyu365/article/details/51900676 1.下载protobuf下载地址:https://github.com/goog ...
- Entity Framework 学习笔记
1.自定义数据库链接字符串上下文 public class PetDbContext : DbContext { public PetDbContext() : base("name=Dem ...
- [DFNews] Elcomsoft 发布EPPB 2.00.233
Elcomsoft Phone Password Breaker 是俄罗斯Elcomsoft公司推出的手机取证工具,能够针对黑莓.苹果等手机的备份文件进行多种方式破解,支持远程获取iCloud数据. ...
- Google Protocol Buffer 的使用和原理[转]
本文转自: http://www.ibm.com/developerworks/cn/linux/l-cn-gpb/ Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构 ...
- openlayers中实现自定冒泡的效果
自定义的Openlayers.Popup.FreshCloud继承自Openlayers.Popup.Framed,实现了比较简洁的冒泡效果,详细代码如下 /** * Class: OpenLayer ...
- Mono自定义图片按钮
首先,我们编写一个MyImageButton类,继承自LinearLayout public class MyPhoneImageButton:LinearLayout { private Image ...
- VMware/Microsoft官网查询参加的培训及认证信息
如果你参加了VMWare的培训,会要求你拿一个已经注册的邮箱加上一个密码在VMware的系统里面登记,这样你就能在VMWARE官网查到注册,并据此你才能申请VMWare的考试认证. 例如下图,路径为 ...