pb的match函数,好象不怎么好用,请高人支招。

winwhere 2008-04-07 09:32:56
  我想在字段中进行输入字符的限制,比如我的编号字段中,我只想用户输入英文的A-Z及数字0-9,我用Match(data,"[A-Z0-9]")进行校验,结果我输入了个中文进去,也通过了。我用Match(data,"[A-Z][0-9]"),结果我输入CP001这样的格式进去,却也不能通过。我用Match(Data,"[A-Z]*[0-9]*"),结果也是输入“中国”这样的汉字进去也可以通过,真的是不知道怎么办了?
...全文
569 13 打赏 收藏 举报
写回复
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
syabb 2009-11-18
  • 打赏
  • 举报
回复
学习了啊
UltraBejing 2008-05-01
  • 打赏
  • 举报
回复
我也想知道,正在找這方面的資料~~~~~
myvicy 2008-04-09
  • 打赏
  • 举报
回复
要多学学正则.
^表示开头$表示结尾
^[A-Z0-9]*$表示从开头到结尾有数字和字母0到多个组成
rightyeah 2008-04-09
  • 打赏
  • 举报
回复
找不到非字母数字的字符,就是合法,这个逻辑也很有道理
rightyeah 2008-04-09
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 Dersak 的回复:]
引用 4 楼 rightyeah 的回复:
match()=false倒是合法的?我晕

是不太好理解,不如你写的简单明了。match()=false 合法的原因是里面[]有非的校验。
[/Quote]
o,我搞错了,,"[^A-Z0-9]",有个取反的符号,Dersak 的办法也是对的
AFIC 2008-04-09
  • 打赏
  • 举报
回复
Match(data,"^[A-Z0-9]*$")比match( data,"[^A-Z0-9]" ) = false好
第二个,没法判断空串。
I_am_Z 2008-04-08
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 rightyeah 的回复:]
match()=false倒是合法的?我晕
[/Quote]
是不太好理解,不如你写的简单明了。match()=false 合法的原因是里面[]有非的校验。
zhgwbzhd 2008-04-08
  • 打赏
  • 举报
回复
实在不行,就用asc码吧。
不过用Match确实可以的哦。好好研究一下他的表达式规则吧。
rightyeah 2008-04-08
  • 打赏
  • 举报
回复
match()=false倒是合法的?我晕
sjq521521 2008-04-08
  • 打赏
  • 举报
回复
2楼的正解......
shmilypiaoye 2008-04-07
  • 打赏
  • 举报
回复
String ls_string
long ll_count,ll_asc
boolean lb_bz
For ll_count = 1 to len(ls_string)
ll_asc = mid(ls_string,ll_count,1)
If ll_asc>64 And ll_asc<91 or ll_asc>47 And ll_asc<58 Then
lb_bz = true
else
lb_bz = false
return false
end if
next

return true

I_am_Z 2008-04-07
  • 打赏
  • 举报
回复
你的写法有问题:
string data

data = sle_id.text

if match( data,"[^A-Z0-9]" ) = false then
messagebox("提示","合法!")
else
messagebox("提示","非法!",stopsign!)
end if
rightyeah 2008-04-07
  • 打赏
  • 举报
回复
lz懂不懂正则?
只想用户输入英文的A-Z及数字0-9 ,应该用Match(data,"^[A-Z0-9]*$")
相关推荐
发帖
脚本语言

739

社区成员

PowerBuilder 脚本语言
社区管理员
  • 脚本语言社区
加入社区
帖子事件
创建了帖子
2008-04-07 09:32
社区公告
暂无公告