二、人性化设计之判断输入的数值类型
有些算法规定了用户名只能为数字或者英文字母或者中文字母,这应该怎么办呢?其实这些判断都可以用引入正则表达式的方法或者用相关控件,你会发现用正则表达式方便了很多,网络上有很多相关内容。这里介绍几种用软件本身代码实现的方法。
l 判断文本框中的输内容:
VB:
* 判断输入的是否为数字:
If IsNumeric(Text1.Text) Then '当文本框中全是数字时将其赋值给N
N = CLng(Text1.Text)
* 文本框中只能输入英文字母:
For i = 1 To Len(Text1.Text)
a = Mid(Text1.Text, i, 1)
If a Like "[a-z]" Or a Like "[A-Z]" Then
Text2.Text = Text1.Text
Else
MsgBox "输入的必须为英文字母": Text2.Text = ""
Exit For
End If
Next i
* 文本框中只能输入双字节字符:
For i = 1 To Len(Text1.Text) Step 1
a = Mid(Text1.Text, i, 1)
If Asc(a) >= 0 Then '双字节字符的ASC码小于0
MsgBox "输入的必须为中文": Text2.Text = ""
End If
Next i
DELPHI:
* 判断输入的是数字还是字符:
procedure TForm1.edt1KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in ['0'..'9','A'..'Z','a'..'z',#8]) then
showmessage('你输入了非法字符');
end;
VC:
* 判断输入的是否为数字:
BOOL IsCharAlphaNumeric(
TCHAR ch // 判断单个字符
);
* 判断输入的是否为英文:
char buf[255];
int len = GetWindowText(hEditWnd, buf, 255);
for(int i = 0; i < len; i++)
{
if( bug[i] > 0)
{
//english
}