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 ...
随机推荐
- Oracle补习班第四天
Everything has its time and that time must be watched. 万物皆有时,时来不可失 1,管理参数文件 参数文件分两种spfile二进制文件和pfile ...
- 使用compass编译sass
1.初始化项目 compass create test(项目名称),会在当前目录下创建test子目录,test的子目录下有config.gb文件,sass和stylesheets文件夹. 2.编写sa ...
- 【转载】Delphi7从子线程中发送消息到主线程触发事件执行
在对数据库的操作时,有时要用一个子线程来进行后台的数据操作.比如说数据备份,转档什么的.在主窗口还能同是进行其它操作.而有时后台每处理一个数据文件,要向主窗口发送消息,让主窗口实时显示处理进度在窗口上 ...
- cocos2dx day 2 - Sprites
1.Sprite 对sprite设置anchor point,对应的位置 // DEFAULT anchor point for all Sprites mySprite->setAnchorP ...
- sqlserver表分区
参考:http://www.cnblogs.com/knowledgesea/p/3696912.html 及百度搜索sqlserver表分区 create partition function sg ...
- session保存用户信息
前台jsp-------------- <%@ page import="com.manager.form.User" %><%User user = reque ...
- 对OpenCV直方图的数据结构CvHistogram的理解
前几天被OpenCV的直方图的数据结构CvHistogram弄得很纠结.上网一搜,也没什么相关的资料.现在有点头绪了,就写点东西,让后面的人好走一些吧. 先来看看CvHistogram的定义: typ ...
- treeview_dropdown_control
http://www.brad-smith.info/blog/archives/193 http://www.brad-smith.info/blog/projects/dropdown-contr ...
- git和nginx安装
原始地址: https://www.zybuluo.com/freeethy/note/192109 git安装 设置git的username和email (注册gitlab的账号密码) $$ git ...
- Android IOS WebRTC 音视频开发总结(八十二)-- VP8对VP9,质量还是码率?
本文主要介绍VP9(我们翻译和整理的,译者:weizhenwei,校验:blacker),最早发表在[编风网] 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信ID:blacke ...