js 正则表达式 判断 数字\字母\中文 (实例)

jopen 7年前

js 正则表达式 判断 数字\字母\中文 (实例)  2010-07-23 15:40    /*  判断指定的内容是否为空,若为空则弹出 警告框  */  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);  }