在用户登录时少不了要对用户输入的帐号进行合法性检测,以防止用户通过输入非法数据入侵系统。经过实践和总结,编写了一个在客户端对用户名进行合法性检测的Javascript函数,以供参考,同时欢迎指正,以便改进。本函数可以在表单提交的onSubmit事件中调用。
[CODE]:
function chk_account(Account)
{
//本过程用于对帐号进行合法性检测
//Account参数用于接受帐号输入值
//Len参数用于设定限制帐号最少位数
var Len=4 //允许注册帐号的最小位数
var strings="abcdefghijklmnopqrstuvwxyz1234567890" //合法字符集
for (i=0;i<Account.value.length;i++)
{
var checkChar=Account.value.charAt(i);
checkChar=checkChar.toLowerCase();
if (strings.indexOf(checkChar)==-1) //如果checkChar字符没有在strings中出现则提示
{
alert("帐号中含有非法字符。");
Account.focus();
return false;
} //if
} //for
if (Account.value=='')
{
alert("请填写帐号。")
Account.focus()
return false
} //if (frm_register.r_account.value=='')
else
{
if (Account.value.length<Len)
{
alert("帐号不能少于"+Len+"位。")
Account.focus()
return false
} //if (frm_register.r_account.value.length<4)
//判断用户名的第一个字符是否为非法字符,注意,第一个字符号为0
if (!(Account.value.charAt(0).toLowerCase()>='a' && Account.value.charAt(0).toLowerCase()<='z'))
{
alert("用户名必须以字母开头,请重新输入。")
Account.focus()
return false
} //if
} //else
return true
} //chk_account()