html控件内输入内容的格式如何限定啊?

比如想限定为邮箱格式,只能为数字,只能为汉字,只能为英文等。

服务器控件好像是可以用自带的验证控件+正则表达式搞定。

可是html控件该怎么办到呢??求教!!
2楼的大哥 请问validchars放的是正则表达式吗?

用的表达式是不是和服务器控件里面的一样的啊?

第1个回答  2010-06-11
用JS限定,如:
判断email格式:
function emailCheck()
{
if ( document.theform.email.value=="")
{
alert("请输入您的email.");
document.theform.email.focus();
return false;
}
var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-";
var email = document.theform.email.value;
for (var i=0; i < email.length; i++)
{
var letter = email.charAt(i).toLowerCase();
if (validchars.indexOf(letter) == -1)
{
alert("e-mail中有非法字符: " + letter);
document.theform.email.focus();
return false;
}
}

var indexa=document.theform.email.value.indexOf("@");
var indexd=document.theform.email.value.indexOf(".")
if(indexa==-1||indexd==-1||(indexd-indexa)<2)
{
alert("您输入的email中必须为xxx@xxx.xxx格式!");
document.theform.email.focus();
return false;
}
em=true;
}
第2个回答  2010-06-11
给你写了个js正则验证email的例子.
=============
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<title>无标题文档</title>
<script>
function checkEmail(){

var re = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
var email=document.getElementById('email').value;
if(email!=null && email.length>0){
if(re.test(email))
{
alert("Thanks,你输入的Email合法!");
}
else
{
alert("Sorry,你输入的Email不合法!");
}
}
else
{
alert("请输入Email!");
}
}
</script>
</head>

<body >
<table>
<tr>
<td><input id="email" name="email" type="text"></td>
</tr>
<tr>
<td><input type="button" name="check" value="checkEmail" onclick="checkEmail()"></td>
</tr>
</table>

</body>
</html>本回答被提问者采纳
第3个回答  2010-06-11
用javascript + 正则表达式 做判断,或者嫌麻烦的话,就全部用服务器控件好了
第4个回答  2010-06-11
html还不是可以用Js+正则表达式来搞定啊,去网上搜索,很多例子的哦
相似回答