RFC里面说了,@前面是用户名,后面是主机名,其它的就没什么特别的要求了,只要@是在中间的,并且用户名和主机名没有保留字符(@就是一个保留字符),从语法上来说就没有错误了。
解决方案 »
- jsp 进度条
- 一个怪异的问题 请高手看看 本人分不多 贵在讨论
- 如何知道一个字符串里有几个:号
- JSP如何调用Easerver的组件?
- 关于引用Applet的问题。载入:找不到类 com.objectplanet.chart.LineChartApplet。
- mysql&tomcat配置数据源以后无法访问mysql数据库,而且还不报错,跪求支援
- 请问在Tomcat下是否支持jdbc for sql server2000
- 安装jive论坛,老是报错数据库驱动是无效的类名,不知道怎么办,请各位帮帮忙
- 怎么判断一个字符串中有回车符,并用空隔代替
- [100分]如何让一个帐户同时只允许一个人在线?[100分]
- 如何用JSP对特定文件打包成RAR,并向客户端输出临时RAR文件?
- 这个递归如何实现呢?请教各位达人。
function String.prototype.trim(){return this.replace(/(^\s*)|(\s*$)/g, "");}
//只能输入正确的日期格式
function isDate(s,msg){
if (s.value.length==0)return true;
if (!msg)msg='请输入正确的日期格式﹐例如2003-05-06';
var str=s.value
var reg = /^(\d{4})(-|\/)(0?[1-9]|1[0-2])(-|\/)(0?[1-9]|[12][0-9]|3[01])$/g;
var r = reg.exec(str);
if(r==null){alert(msg);s.select();return false;}
var d = new Date(r[1], r[3]-1,r[5]);
var newStr=d.getFullYear()+r[2]+(d.getMonth()+1)+r[2]+d.getDate()
var reg=/(\/|-)(0*)( *)([1-9])/g
var t=s.value.replace(reg,'$1$4')
if (newStr==t){return true;}
s.focus();
s.select();
alert(msg);
return false;
}
//只能输入标准的E-MAIL邮件格式
function isEmail(s,msg){
if (s.value.length==0)return true;
var reg = /^([a-z]){1,}([\.a-z0-9_\-]){1,}([a-z0-9]){1,}@([a-z0-9_-]){3,}(\.([a-z0-9]){2,4}){1,2}$/gi;
if (reg.test(s.value))return true;
else {
alert((msg?msg:'请输入标准的E-MAIL邮件格式,例如[email protected]'));
s.focus();
s.select()
return false;
}
}
//只能输入英文
function isEnglish(s,msg){
var reg=/^[a-z]*$/gi
if(reg.test(s.value))return true
else {
alert((msg?msg:'该栏只能输入英文﹐请改正'));
s.focus();
s.select();
return false;
}
}
//只能输入中文
function isChinese(s,msg){
var reg = /[^\u4E00-\u9FA5]/g;
if (reg.test(s.value)){
s.focus();
s.select()
alert((msg?msg:'该栏只能输入中文﹐请改正'));
return false;
}
return true;
}
//不能输入中文
function isNoChinese(s,msg){
var reg = /[\u4E00-\u9FA5]|[\uFE30-\uFFA0]/gi;
if (reg.test(s.value)){s.select()
alert((msg?msg:'该栏不能输入中文和全角符号,请改正'));
return false;
}
return true;
}
//不能为空
function isZero(s,msg){
var str=s.value.trim();
if (str.length!=0)return true
else {
alert((msg?msg:'该栏不能为空,请改正'));
s.focus();
s.select();
return false;
}
}
//只能输入数字
function isNumeric(s,msg){
if (s.value*1!=s.value){
alert((msg?msg:'该栏只能输入数字﹐请改正'))
s.focus();
s.select()
return false
}
return true
}//只能输入英文和数字
function isEN(s,msg){
var reg=/^[a-z0-9.]*$/gi
if(reg.test(s.value))return true
else {
alert((msg?msg:'该栏只能输入英文和数字,请改正'));
s.focus();
s.select();
return false;
}
}
//函数接口
function chkForm(frmName){
this.frmName=frmName;
this.chkFunBody = "";
this.isPass = function(eleName,chkFun,strMsg){
this.chkFunBody += chkFun+"("+this.frmName+"."+eleName
if(strMsg)this.chkFunBody +=",\""+strMsg+"\""
this.chkFunBody +=") && "
var tmp = "return( "+ this.chkFunBody +" true)"
eval(this.frmName+".onsubmit=Function('"+tmp+"');");
}
}function checkvalue(str)
{
var checkOK = "0123456789-.,";
var checkStr = str;
var allValid = true;
var validGroups = true;
var decPoints = 0;
var allNum = "";
var countNumberAfterDot;
var countYN; countYN=0;
countNumberAfterDot=0; for (i = 0; i < checkStr.length; i++)
{
ch = checkStr.charAt(i);
for (j = 0; j < checkOK.length; j++)
{
if (ch == checkOK.charAt(j))
break;
}
if (j == checkOK.length)
{
allValid = false;
break;
}
if (ch == ".")
{
decPoints++;
countYN=1;
}
if (ch == "," )
{
if (decPoints != 0)
{
validGroups = false;
break;
}
} allNum+=ch; if (countYN==1){
countNumberAfterDot++;}
} if (!allValid)
{
alert("只能输入 数字 字符。");
return (false);
} if (decPoints > 1 || !validGroups || countNumberAfterDot >3)
{
alert("请输入一个有效数字。");
return (false);
} if (checkStr>999999999999.99 )
{
alert("您输入的数值过大,会导致溢出错误。");
return (false);
}
if (checkStr<-999999999999.99)
{
alert("您输入的数值过小,会导致溢出错误。");
return (false);
}
return true;
}
----
如何调用
<SCRIPT LANGUAGE="JavaScript">
var obj=new chkForm("form名字")obj.isPass("输入框","isEN");</SCRIPT>
比如:有的可以有“.”,有的就不可以,sina的就不行,163的就可以
var atIndex = theStr.indexOf('@');
var dotIndex = theStr.indexOf('.',atIndex);
var flag = true;
theSub = theStr.substring(0,dotIndex +1);
if((atIndex <1) ||(atIndex != theStr.lastIndexOf('@')) || (dotIndex < atIndex +2) || (theStr.length <= theSub.length)){
flag = false;
}
else{
flag = true;
}
return (flag);
}
yyfeng1982(遥遥) 的代码简单明了啊!!
function checkmail(email)
{
//email=trim(email)
if (email!="")
{
//校验非法字符
if (!checkStr(email))
{
alert("输入的E-mail格式不对!");
return false;
}
//.必须在@之后
if ((email.indexOf("@") < 1) || (email.indexOf(".")<email.indexOf("@")))
{
alert("输入的E-mail格式不对!");
return false;
}
//@与.之间必须有字符串
if ((email.indexOf(".")-email.indexOf("@"))<=1)
{
alert("输入的E-mail格式不对!");
return false;
}
//.后必须有字符
if ((email.length-email.indexOf("."))<=1)
{
alert("输入的E-mail格式不对!");
return false;
}
//校验字符串中只允许有一个@和
var j=0
for( var i=0; i<email.length; i++ )
if (email.charAt(i) == '@')
{
j=j+1
}
if (j>1)
{
alert("输入的E-mail格式不对!");
return false;
}
}
return true;
}//校验邮件域名
function checkemaildomain(email)
{
//email=trim(email)
if (email!="")
{
//校验非法字符
if (!checkStr(email))
{
alert("输入的邮件域名格式不对!");
return false;
}
//.必须在@之后,且@必须是第一位。
if ((email.indexOf("@") > 0) || (email.indexOf(".")<email.indexOf("@")))
{
alert("输入的邮件域名格式不对!");
return false;
}
//@与.之间必须有字符串
if ((email.indexOf(".")-email.indexOf("@"))<=1)
{
alert("输入的邮件域名格式不对!");
return false;
}
//.后必须有字符
if ((email.length-email.indexOf("."))<=1)
{
alert("输入的邮件域名格式不对!");
return false;
}
//校验字符串中只允许有一个@和.
var j=0
for( var i=0; i<email.length; i++ )
if (email.charAt(i) == '@')
{
j=j+1
}
if (j>1)
{
alert("输入的邮件域名格式不对!");
return false;
}
}
return true;
}
...请填写正确的email<input type="text" name="email">
<INPUT TYPE="submit" value="提交">
</form>
<SCRIPT LANGUAGE="JavaScript">
<!--
function check_Email(obj) {
var pattern = /^\w+@\w+\.\w{1,3}$/g;
if (!pattern.test(obj.email.value)){alert("请输入正确的邮件地址!!");return false;}
}
//-->
</SCRIPT>
if(strValue=="")return true;
var objRegExp = /^[a-z0-9]([a-z0-9_\-\.]*)@([a-z0-9_\-\.]*)(\.[a-z]{2,3}(\.[a-z]{2}){0,2})$/i;
return objRegExp.test(strValue);
}这个够简单了吧