当前位置: 代码迷 >> JavaScript >> js判断字符是汉语言,汉字,数字
  详细解决方案

js判断字符是汉语言,汉字,数字

热度:326   发布时间:2012-10-09 10:21:45.0
js判断字符是中文,汉字,数字

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

/*?
判断给定的字符串是否为指定长度的数字?
是返回true,不是返回false?
*/?
function isNumber_Ex(str,len){?
if(""==str){?
return false;?
}

if(str.length!=len){?
return false;?
}

if(!isNumber(str)){?
return false;?
}?
return true;?
}

/*?
money判断函数,允许第一位为"-"来表示欠钱?
返回true表示格式正确,返回false表示格式错误?
*/?
function isMoney(str){?
if(""==str){?
return false;?
}?
for(var i=0;i var c = str.charAt(i);?
if(i==0){?
if(c!="-"&&(c<"0"||c>"9")){?
return false;?
}else if(c=="-"&&str.length==1){?
return false;?
}?
}else if(c < "0" || c > "9"){?
return false;?
}?
}?
return true;?
}?
/*?
英文判断函数,返回true表示是全部英文,返回false表示不全部是英文?
*/?
function isLetter(str){?
if(""==str){?
return false;?
}?
for(var i=0;i var c = str.charAt(i);?
if((c<"a"||c>"z")&&(c<"A"||c>"Z")){?
return false;?
}?
}?
return true;?
}?
/*?
空格判断,当包含有空格返回false,当不包含一个空格返回true?
""不能被判断?
*/?
function notInSpace(str){?
if(""==str){?
return false;?
}?
var badChar =" ";?
badChar += " ";?
for(var i=0;i var c = str.charAt(i);//字符串str中的字符?
if(badChar.indexOf(c) > -1){?
return false;?
}?
}?
return true;?
}?
/*?
发票号判断函数,返回true表示是发票号,返回false表示不符合规范?
*/?
function isFPH(str){?
if(""==str){?
return false;?
}?
for(var i=0;i var c = str.charAt(i);?
if((c < "0" || c > "9") && (c!="-")&&(c!=",")){?
return false;?
}?
}?
return true;?
}?
/*?
电话判断函数,允许“数字”、“;”、“-”、“(”、”)“,?
true表示是电话号码?
*/?
function isTelephone(str){?
var trueChar = "()-;1234567890";?
if(""==str){?
return false;?
}?
for(var i=0;i var c = str.charAt(i);//字符串str中的字符?
if(trueChar.indexOf(c) == -1) return false;?
}?
return true;?
}?
/**?
学制可以为1-7,也可以为3.5这种形式,不能超过7年或者低于1年?
*/?
function isXZ(str){?
if(""==str){?
return false;?
}?
var reg = /^[1-6](\.5)?$/;?
var r = str.match(reg);?
if(null!=r){?
return true;?
}else{?
if(str=="7"){?
return true;?
}else{?
return false;?
}?
}?
}

/*?
判断证书编号是否符合要求,证书编号包含中文、数字、大小写字母、(、)、-?
是返回true,不是返回false?
*/?
function isZSBH(str){?
if(""==str){?
return false;?
}?
for(var i=0;i var c = str.charAt(i);?
alpha = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";?
alpha += "abcdefghijklmnopqrstuvwxyz";?
alpha += "()-";?
if(!isChinese(c)&&!isNumber(c)&&alpha.indexOf(c)==-1){?
return false;?
}?
}?
return true;?
}

/*?
身份证判断函数,是返回true,不是返回false?
15位数字,18位数字或者最后一位为X(大写)?
*/?
function isSFZ(str){?
if(""==str){?
return false;?
}?
if(str.length!=15&&str.length!=18){//身份证长度不正确?
return false;?
}?
if(str.length==15){?
if(!isNumber(str)){?
return false;?
}?
}else{?
str1 = str.substring(0,17);?
str2 = str.substring(17,18);?
alpha = "X0123456789";?
if(!isNumber(str1)||alpha.indexOf(str2)==-1){?
return false;?
}?
}?
return true;?
}?
/*?
得到今天的年,月,日?
调用方法:today = new getToday(); 则today.year为今天的年以此类推?
*/?
function getToday(){?
this.now = new Date();?
this.year = this.now.getFullYear();?
this.month = this.now.getMonth();?
this.day = this.now.getDate();?
}?

js判断数字,字母,中文?
1.

var reg = /^(\w|[\u4E00-\u9FA5])*$/;?
if(arr=username.match(reg))?
{?
ti=1;?
return ture;?
}?
else?
{?
alert("用户名只允许为英文,数字和汉字的混合,\n请检查是否前后有空格或者其他符号");?
ti=0;?
return false;?
}

2.利用正则表达式限制网页表单里的文本框输入内容:

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

用正则表达式限制只能输入全角字符: onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))"

用正则表达式限制只能输入数字:onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"

用正则表达式限制只能输入数字和英文:onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"


数字?
<script>?
function check()?
{?
if(!isNaN(document.all.form.str.value))?
{?
alert("数字");?
}?
</script>?
字母?
<script>?
function check()?
{?
var str = /[_a-zA-Z]/;?
if(str.test(document.all.form.str.value))?
{?
alert("字母");?
}?
}?
</script>?
<form name="form" action="" onsubmit="return check();">?
<input type=text name=str>?
<input type=submit>?
<form>

---------------------------------------------------?
/**?
* 一些常用的javascript函数(方法)?
*?
* 为便于使用,均书写成String对象的方法?
* 把他保存为.js文件,可方便的扩展字符串对象的功能?
*?
* 方法名 功 能?
* ----------- --------------------------------?
* Trim 删除首位空格?
* Occurs 统计指定字符出现的次数?
* isDigit 检查是否由数字组成?
* isAlpha 检查是否由数字字母和下划线组成?
* isNumber 检查是否为数?
* lenb 返回字节数?
* isInChinese 检查是否包含汉字?
* isEmail 简单的email检查?
* isDate 简单的日期检查,成功返回日期对象?
* isInList 检查是否有列表中的字符字符?
* isInList 检查是否有列表中的字符字符?
*/

/*** 删除首尾空格 ***/?
String.prototype.Trim = function() {?
return this.replace(/(^\s*)|(\s*$)/g, "");?
}

/*** 统计指定字符出现的次数 ***/?
String.prototype.Occurs = function(ch) {?
// var re = eval("/[^"+ch+"]/g");?
// return this.replace(re, "").length;?
return this.split(ch).length-1;?
}

/*** 检查是否由数字组成 ***/?
String.prototype.isDigit = function() {?
var s = this.Trim();?
return (s.replace(/\d/g, "").length == 0);?
}

/*** 检查是否由数字字母和下划线组成 ***/?
String.prototype.isAlpha = function() {?
return (this.replace(/\w/g, "").length == 0);?
}?
/*** 检查是否为数 ***/?
String.prototype.isNumber = function() {?
var s = this.Trim();?
return (s.search(/^[+-]?[0-9.]*$/) >= 0);?
}

/*** 返回字节数 ***/?
String.prototype.lenb = function() {?
return this.replace(/[^\x00-\xff]/g,"**").length;?
}

/*** 检查是否包含汉字 ***/?
String.prototype.isInChinese = function() {?
return (this.length != this.replace(/[^\x00-\xff]/g,"**").length);?
}

/*** 简单的email检查 ***/?
String.prototype.isEmail = function() {?
 var strr;?
var mail = this;?
 var re = /(\w+@\w+\.\w+)(\.{0,1}\w*)(\.{0,1}\w*)/i;?
 re.exec(mail);?
 if(RegExp.$3!="" && RegExp.$3!="." && RegExp.$2!=".")?
strr = RegExp.$1+RegExp.$2+RegExp.$3;?
 else?
  if(RegExp.$2!="" && RegExp.$2!=".")?
strr = RegExp.$1+RegExp.$2;?
  else?
 strr = RegExp.$1;?
 return (strr==mail);?
}

/*** 简单的日期检查,成功返回日期对象 ***/?
String.prototype.isDate = function() {?
var p;?
var re1 = /(\d{4})[年./-](\d{1,2})[月./-](\d{1,2})[日]?$/;?
var re2 = /(\d{1,2})[月./-](\d{1,2})[日./-](\d{2})[年]?$/;?
var re3 = /(\d{1,2})[月./-](\d{1,2})[日./-](\d{4})[年]?$/;?
if(re1.test(this)) {?
p = re1.exec(this);?
return new Date(p[1],p[2],p[3]);?
}?
if(re2.test(this)) {?
p = re2.exec(this);?
return new Date(p[3],p[1],p[2]);?
}?
if(re3.test(this)) {?
p = re3.exec(this);?
return new Date(p[3],p[1],p[2]);?
}?
return false;?
}?
/*** 检查是否有列表中的字符字符 ***/?
String.prototype.isInList = function(list) {?
var re = eval("/["+list+"]/");?
return re.test(this);?
}

  相关解决方案