pb9 正则表达式校验字符串
前言
在开发过程中,经常会遇到要校验字符串是否是全数字、是否是全字母、是否字母数字的组合等等,一般的做法是用pos方法去比对子串,但是用这种方式来判断一两个字母或者数字还行,但要判断26字母、10数字和所有的特殊字符,不免显得有些鸡肋。
在各开发语言中都存在正则表达式这个东西,且都用对应的API。正则表达式虽然用起来简洁好用,但是表达式的入门却是一个比较难的东西,所以下面给出了在开发过程中常用的几种表达式的示例,且在pb9中正则表达式的API是match()方法。
示例
//文本包含一个或多个大写字母
if not Match("232A232" ,"[A-Z]+") then
messagebox('提示','文本不包含一个或多个大写字母,请修改!')
//Return 1
else
messagebox('提示','文本包含一个或多个大写字母!')
end if
//文本包含一个或多个小写字母
if not Match("232a232" ,"[a-z]+") then
messagebox('提示','文本不包含一个或多个小写字母,请修改!')
//Return 1
else
messagebox('提示','文本包含一个或多个小写字母。')
end if
//文本包含任何数字
if not Match("1weqe" ,"[0-9]") then
messagebox('提示','文本包含任何数字,请修改!')
//Return 1
else
messagebox('提示','文本包含数字。')
end if
//文本包含特殊字符
if not Match("#1weqe" ,"[`~!@#$%^&*]") then
messagebox('提示','文本不包含特殊字符,请修改!')
//Return 1
else
messagebox('提示','文本包含特殊字符。')
end if
//强密码(必须包含大小写字母和数字的组合,不可以使用特殊字符,长度在8-10之间)
if not Match("@#we2eAA2" ,"[A-Za-z0-9]+{8,10}") then
messagebox('提示','文本不包含大小写字母和数字的组合,请修改!')
//Return 1
else
messagebox('提示','文本包含大小写字母和数字的组合。')
end if
//全字母判断
if not Match(sle_1.text ,"^[a-zA-Z]+$") then
messagebox('提示','文本不是纯字母组合,请修改!')
//Return 1
else
messagebox('提示','文本是纯字母组合。')
end if
暂时是上面所述的几种表达式,后面会持续更新,不足之处,欢迎各位读者朋友留言指出,谢谢!