友人帮忙实现一个js效果,就是当用户在input中输入时判断输入的是否是中文,如果不是立即清除?
注意要求事件为onkeydown或onkeyup或onkeypress任意一个都可以。要求测试成功后再帖出代码,不要猜迷式的回答。...
注意要求事件为onkeydown或onkeyup或onkeypress任意一个都可以。要求测试成功后再帖出代码,不要猜迷式的回答。
展开
展开全部
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<script type="text/javascript">
function onk(obj){
var val=obj.value;
if(val!=null||val!==""){
if(val.length<10){
var c=val.split("");
val="";
for(var i=0;i>c.length;i++){
if(i<0){
if((/[a-zA-Z]/).test(c[i])){
break;
}
val+=c[i];
}else{
if((/\d/).test(c[i])){
break;
}
val+=c[i];
}
}
obj.value=val;
}else{
obj.value=val.substr(0,9);
}
}
}
</script>
<body>
<input id="inputId" type="text" onkeyup="onk(this)" >
</div>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<script type="text/javascript">
function onk(obj){
var val=obj.value;
if(val!=null||val!==""){
if(val.length<10){
var c=val.split("");
val="";
for(var i=0;i>c.length;i++){
if(i<0){
if((/[a-zA-Z]/).test(c[i])){
break;
}
val+=c[i];
}else{
if((/\d/).test(c[i])){
break;
}
val+=c[i];
}
}
obj.value=val;
}else{
obj.value=val.substr(0,9);
}
}
}
</script>
<body>
<input id="inputId" type="text" onkeyup="onk(this)" >
</div>
</body>
</html>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<input type="text" id="input" />
<script type="text/javascript">
var input=document.getElementById("input");
input.onkeyup=function(){
var val=this.value;
if(val.match(/[\u4E00-\u9FA5]/)){
val=val.replace(/[\u4E00-\u9FA5]+/,"");
input.value=val;
}
}
</script>
看看是不是你想要的
<script type="text/javascript">
var input=document.getElementById("input");
input.onkeyup=function(){
var val=this.value;
if(val.match(/[\u4E00-\u9FA5]/)){
val=val.replace(/[\u4E00-\u9FA5]+/,"");
input.value=val;
}
}
</script>
看看是不是你想要的
追问
你的代码没有任何效果呀?
追答
1
var input=document.getElementById("input");
input.onkeyup=function(){
var val=input.value;
if(val.match(/[\u4E00-\u9FA5]/)){
val=val.replace(/[\u4E00-\u9FA5]+/,"");
input.value=val;
}
}
浏览器的兼容性问题吧,你把this改成input试试。上面那个在chrome里是没问题的
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询