Javascript 字符的控制输入
我想Javascript实现控制表单文本格式输入,比如再某些情况输入到文本框的是Email地址,只能输入"@",".","_"以及数字和字母,当输入其他字符的时候没有反映...
我想Javascript实现控制表单文本格式输入,比如再某些情况输入到文本框的是Email地址,只能输入"@",".","_"以及数字和字母,当输入其他字符的时候没有反映,不显示在文本框内。
请高手把代码写下来,写清楚点。写好了可以加分。谢谢
二楼说的不错,可是,还是没有完整的写出来,很遗憾还是出不来效果 展开
请高手把代码写下来,写清楚点。写好了可以加分。谢谢
二楼说的不错,可是,还是没有完整的写出来,很遗憾还是出不来效果 展开
展开全部
二楼的方法完全正确,你把这一行保存为html文件即可在IE中打开查看效果,现在提问的人越来越让人无语了。我把下面一行粘贴到记事本里面保存为html文件,在IE6上打开确实有效果:
<input type="text" onkeypress="return(event.keyCode==46||event.keyCode==95||(event.keyCode>=64&&event.keyCode<=90)||(event.keyCode>=97&&event.keyCode<=122)||(event.keyCode>=48&&event.keyCode<=57))" />
注意要复制、粘贴,不要自己输入错误了又说别人的没效果,在你的页面上需要控制输入内容的地方,可以插入上面的onkeypress="..."部分即可,比如你原来是<input type="text" name="emai" l/>那么插入后成为<input type="text" name="email" onkeypress="..." />即可。
还有自以为是的高级经理,替换和输入限制各有所长,不能说哪个好,如果楼主喜欢替换,那么用下面的代码:
<input type="text" onblur="this.value=this.value.replace(/[^0-9a-zA-Z@_\-]+/,'')";>
<input type="text" onkeypress="return(event.keyCode==46||event.keyCode==95||(event.keyCode>=64&&event.keyCode<=90)||(event.keyCode>=97&&event.keyCode<=122)||(event.keyCode>=48&&event.keyCode<=57))" />
注意要复制、粘贴,不要自己输入错误了又说别人的没效果,在你的页面上需要控制输入内容的地方,可以插入上面的onkeypress="..."部分即可,比如你原来是<input type="text" name="emai" l/>那么插入后成为<input type="text" name="email" onkeypress="..." />即可。
还有自以为是的高级经理,替换和输入限制各有所长,不能说哪个好,如果楼主喜欢替换,那么用下面的代码:
<input type="text" onblur="this.value=this.value.replace(/[^0-9a-zA-Z@_\-]+/,'')";>
展开全部
<script type="text/javascript">
function filter(event){
var e = event || window.event;
var code = e.charCode || e.keyCode;
if(String.fromCharCode(code)=="@")return(!/@/.test(document.getElementById('txt').value)) //只能输入一个@
return(/[\w@\.]/.test(String.fromCharCode(code)))
}
</script>
<input type="text" onkeypress="return filter(event)" id="txt" />
光限制输入是不能判断email是不是合法的,所以考虑实用性,提交的时候还是要检测一下。
function filter(event){
var e = event || window.event;
var code = e.charCode || e.keyCode;
if(String.fromCharCode(code)=="@")return(!/@/.test(document.getElementById('txt').value)) //只能输入一个@
return(/[\w@\.]/.test(String.fromCharCode(code)))
}
</script>
<input type="text" onkeypress="return filter(event)" id="txt" />
光限制输入是不能判断email是不是合法的,所以考虑实用性,提交的时候还是要检测一下。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<input onkeyup="this.value=this.value.replace(/[^a-zA-Z0-9._@]/g,'')" onafterpaste="this.value=this.value.replace(/[^a-zA-Z0-9._@]/g,'')" style="ime-mode:disabled">
搞定.
搞定.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
上面的回答都不够好
最好是用正则表达式加replace功能实现喽,以前记得的,但现在忘了哟
最好是用正则表达式加replace功能实现喽,以前记得的,但现在忘了哟
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<script language="javascript">
<!--
function add(){
if (document.form1.mail.value.indexOf("@",0) < 0 || document.form1.mail.value.indexOf(".",0) < 0)
{
alert("邮箱地址错误!")
return false;
}
}
//-->
</script>
<form name="form1" action="" method="post" onSubmit="return add();" >
<input type="text" name="mail">
</form>
<!--
function add(){
if (document.form1.mail.value.indexOf("@",0) < 0 || document.form1.mail.value.indexOf(".",0) < 0)
{
alert("邮箱地址错误!")
return false;
}
}
//-->
</script>
<form name="form1" action="" method="post" onSubmit="return add();" >
<input type="text" name="mail">
</form>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
2楼答的不错
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询