登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

糟老頭的地盤

老頭的地盤听老頭的

 
 
 

日志

 
 

如何在ASP页面中用js限制只能输入中文  

2010-06-22 18:45:43|  分类: study |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

如何在ASP页面中用js限制只能输入中文
function ssother()
{
   if(checkspace(document.receiveaddr.recepit.val)) {
document.receiveaddr.recepit.focus();
    alert("对不起,请填写收货人姓名!");
return false;
  }这个是验证是否为空,我想再加个只能输入中文的,如果输入数字或者是字母的就弹出提示的怎么做?

案例:

1.只能输入数字和英文的:
<input   onkeyup= "val=val.replace(/[\W]/g, ' ')   "onbeforepaste= "clipboardData.setData( 'text ',clipboardData.getData( 'text ').replace(/[^\d]/g, ' ')) ">
2.只能输入数字的:
<input   onkeyup= "val=val.replace(/[^\d]/g, ' ')   "onbeforepaste= "clipboardData.setData( 'text ',clipboardData.getData( 'text ').replace(/[^\d]/g, ' ')) ">
3.只能输入全角的:
<input   onkeyup= "val=val.replace(/[^\?-\?]/g, ' ') "   onbeforepaste= "clipboardData.setData( 'text ',clipboardData.getData( 'text ').replace(/[^\?-\?]/g, ' ')) ">
4.只能输入汉字的:
<input   onkeyup= "val=val.replace(/[^\一-\龥]/g, ' ') "   onbeforepaste= "clipboardData.setData( 'text ',clipboardData.getData( 'text ').replace(/[^\一-\龥]/g, ' ')) ">

例子:<input name="people1" type="text" class="in1" id="people1" size="25" maxlength="10" onKeyUp='this.val=this.val.replace(/[^\一-\龥]/gi,"")' >

 

方法一:最笨的,最容易理解的,且可以随意设置要排除的字符

======================================================================

<script lang ge="javascript">
function isChinese1(str){

var badChar ="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
badChar += "abcdefghijklmnopqrstuvwxyz";
badChar += "0123456789";
badChar += " "+" ";//半角与全角空格
badChar += "`~!@#$%^&()-_=+]\\|:;"\'<,>?/";//不包含*或.的英文符号

if(""==str){
return false;
}
for(var i=0;i<str.length;i++){
var c = str.charAt(i);//字符串str中的字符
if(badChar.indexOf(c) > -1){
return false;
}
}
return tr;
}
</script>

方法二:正则表达式实现,可实现中文,非中文,数字输入

======================================================================

<script lang ge="javascript">
function XN_CheckAllCnText(str)
{
var reg=/[一-龥]/g
if (reg.test(str)){alert("含有汉字");}
else{alert("不含有汉字");}
}

</script>

<input type="text" name="xunuo">
<input type="button" name="xu" val="点击我看看" onclick="XN_CheckAllCnText(document.all.xunuo.val)">

表单中不允许输入中文:

<input onkeyup="val=val.replace(/[一-龥]/g,'')">

引申:

表单中只允许输入中文的方法:

<input onkeyup="val=val.replace(/[ -~]/g,'')">

表单中只允许输入数字的方法:

<input onkeyup="val=val.replace(/D/g,'')">

方法三:正则表达式实现

=====================================================================

function   funcChina(s){  
    if(/^[一-龥]+$/.test(s))  
{  
alert("不能含有汉字!");      
return   false;  
}  
return   tr;  
} 

方法四:正则表达式实现

=====================================================================

if(/[^x00-xff]/g.test(s))  
alert("含有汉字");  
else  
alert("全是字符");

 

 

1>.var reg=/^[\一-\龥]+$/;

2>.用正则表达式限制只能输入中文:
onkeyup="val=val.replace(/[^\一-\龥]/g,'')" onbeforepaste=
"clipboardData.setData('text',clipboardData.getData('text').replace(/[^\一-\龥]/g,''))"



3>.
用JS的正则表达式如何判断输入框内为中文或者是英文数字,或者是三者混编
1.只能输入数字和英文的:
<input onkeyup="val=val.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">
2.只能输入数字的:
<input onkeyup="val=val.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">
3.只能输入全角的:
<input onkeyup="val=val.replace(/[^\?-\?]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\?-\?]/g,''))">
4.只能输入汉字的:
<input onkeyup="val=val.replace(/[^\一-\龥]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\一-\龥]/g,''))">

也可以这样:
<input type=text name= caolig val ="" onblur="if (!(/^[\d]+\.?\d*$/.test(this.val)) ){alert('您的输入有误'); this.val='';this.focus();}">  
5>.
文本框里只能输入特定的字付的和文本框里不能右键弹

<!DOCTYPE HTML P LIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>

<body>
只能输入数字
<br>
<input name="text" type="text" id="NewPage"
onKeyUp="this.val=this.val.replace(/\D/g,'')"
onafterpaste="this.val=this.val.replace(/\D/g,'')" >
<br>
只能输入英文和数字
<br>
<input name="text1" maxlength="13" onKeyUp="val=val.replace(/[^a-zA-Z0-9]/g,'')" onMouseOver="val=val.replace(/[^a-zA-Z0-9]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^a-zA-Z0-9]/g,''))">
<br>
只能输入中文
<br>
<input type="text" onkeyup="val=val.replace(/[^\一-\龥]/g,'')">
<br>
<br>
实验成功
<br>只能输入数字<br>
<input type=text onkeyup="this.val=this.val.replace(/\D/g,'')">

<br>只能输入数字<br>
<input type="text" onkeyup="val=val.replace(/\D/g,'')">

<br>只能输入大小写英文<br>
<input type="text" onkeyup="val=val.replace(/[^\a-\z\A-\Z]/g,'')">

<br>只能输入大小定英文和数字<br>
<input type="text" onkeyup="val=val.replace(/[^\a-\z\A-\Z0-9]/g,'')">

<br>只能输入中文<br>
<input type="text" onkeyup="val=val.replace(/[^\一-\龥]/g,'')">

<br>只能输入大小定中文、英文和数字和@符号和.符号<br>
<input type="text" onkeyup="val=val.replace(/[^\a-\z\A-\Z0-9\一-\龥\@\.]/g,'')">

<br>只允许输入大小写英文,且不能粘贴也无法弹出粘贴菜单<br />
<input type="text" onkeyup="val=val.replace(/[^\a-\z\A-\Z]/g,'')" onkeydown="fncKeyStop(event)" onpaste="return false" oncontextmenu = "return false"/>

<br><br>
只能输入数字和点号(注意:在[^\d\.]里的d不能写成大写D,要不然会得不到想要的效果)
<input name="price" type="text" size="8" maxlength="8" onkeyup="val=val.replace(/[^\d\.]/g,'')" >

总而言之:先在<input>里输入onkeyup="val=val.replace(/[^\X]/g,'')" 然后在(/[\x]/g,'')里的X换成你想输入的代码就可以了,中文一-龥数字d英文a-z\A-Z其它符号@,点或其它符号.也可以多个,用\隔开就行了.例如中英文和数字加@符号加点符号\a-\z\A-\Z0-9\一-\龥\@\.
若想在文本框里不能右键弹出菜单和不能粘贴进复制的信息的话
就要在<input>里输入 onKeyDown="fncKeyStop(event)" onpaste="return false" oncontextmenu="return false;"
</body>
</html>

很有用的js代码,可判断输入是否中文,数字,身份证等等

作者:未知

/*
判断指定的内容是否为空,若为空则弹出 警告框
*/
function isEmpty(theVal, strMsg){
if(theVal==""){
alert(strMsg+"不能为空!");
return tr;
}
return false;
}
/*
中文判断函数,允许生僻字用英文“*”代替
返回tr表示是符合条件,返回false表示不符合
*/
function isChinese(str){
var badChar ="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
badChar += "abcdefghijklmnopqrstuvwxyz";
badChar += "0123456789";
badChar += " "+" ";//半角与全角空格
badChar += "`~!@#$%^&()-_=+]\\\\|:;\\"\\\'<,>?/";//不包含*或.的英文符号
if(""==str){
return false;
}
for(var i=0;i<str.length;i++){
var c = str.charAt(i);//字符串str中的字符
if(badChar.indexOf(c) > -1){
return false;
}
}
return tr;
}
/*

  评论这张
 
阅读(2172)| 评论(0)

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018