1、object
window:w_frame
SingleLineEdit control:sle_mail
2、event
modified
3、powerscript
BOOLEAN lb_part1_valid,lb_part2_valid,lb_part3_validSTRING ls_matchstringSTRING ls_part1,ls_part2,ls_part3INTEGER li_posa,li_posdotINTEGER li_postemp1,li_postemp2STRING ls_tempstring
ls_matchstring = Trim(THIS.Text)IF IsNull(ls_matchstring) OR ls_matchstring = "" THEN RETURN
//"@"posli_posa = Pos(ls_matchstring,"@")//last's"."pos,仅高版本pb提供li_posdot= LastPos(ls_matchstring,".")//截取到part1ls_part1 = Left(ls_matchstring,li_posa)//截取到part2ls_part2 = "." + Mid(ls_matchstring,li_posa + 1,li_posdot - li_posa)//截取到part3ls_part3 = Mid(ls_matchstring,li_posdot+ 1)
//检测 part1's 有效性,规格<hygougou@|hy-gougou@|hy_gougou@|hy.gougou@>lb_part1_valid = Match(ls_part1,"^[A-Za-z0-9_/-/.]+@")
//检测 part2's 有效性,规格<hotmail.|vip.163.|sl-mail>li_postemp1 = Pos(ls_part2,".")li_postemp2 = Pos(ls_part2,".",li_postemp1 + 1)DO WHILE li_postemp2 > 0 ls_tempstring = Mid(ls_part2,li_postemp1 + 1,li_postemp2 - li_postemp1) lb_part2_valid = Match(ls_tempstring,"^[A-Za-z0-9/-]+/.") IF NOT lb_part2_valid THEN Exit li_postemp1 = li_postemp2 li_postemp2 = Pos(ls_part2,".",li_postemp1 + 1)LOOP
//检测 part3's 有效性,后缀>1,<5,规格<cn|com|slof>lb_part3_valid = Match(ls_part3,"^[A-Za-z0-9][A-Za-z0-9][A-Za-z0-9]?[A-Za-z0-9]?$")
IF NOT lb_part1_valid OR NOT lb_part2_valid OR NOT lb_part3_valid THEN Messagebox("提示","输入的E-Mail地址有误,请重新输入!") THIS.SetFocus() THIS.SelectText(1,Len(THIS.Text))END IF
