首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

惯用JS正则表达式及数据类型限制、判断

2014-01-21 
常用JS正则表达式及数据类型限制、判断?1.var reg /^(\w|[\u4E00-\u9FA5])*$/ if(arrusername.match(re

常用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 type="text/javascript">    //限制数字      function check(){          if(!isNaN(document.all.form.str.value)){               alert("数字");          }       }//字母  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>  --------------------------------------------------------------------------------  /^[0-9a-zA-Z]+$/  --------------------------------------------------------------------------------  /**  * 一些常用的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);  } js正则表达式限制文本框只能输入数字,小数点,英文字母,汉字等各类代码 1.文本框只能输入数字代码(小数点也不能输入)<input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')">2.只能输入数字,能输小数点.<input onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')"><input name=txt1 onchange="if(/\D/.test(this.value)){alert('只能输入数字');this.value='';}">3.数字和小数点方法二<input type=text t_value="" o_value="" onkeypress="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.value" onkeyup="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.value" onblur="if(!this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?|\.\d*?)?$/))this.value=this.o_value;else{if(this.value.match(/^\.\d+$/))this.value=0+this.value;if(this.value.match(/^\.$/))this.value=0;this.o_value=this.value}">4.只能输入字母和汉字<input onkeyup="value=value.replace(/[\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[\d]/g,''))" maxlength=10 name="Numbers">5.只能输入英文字母和数字,不能输入中文<input onkeyup="value=value.replace(/[^\w\.\/]/ig,'')">6.只能输入数字和英文<font color="Red">chun</font><input onKeyUp="value=value.replace(/[^\d|chun]/g,'')">7.小数点后只能有最多两位(数字,中文都可输入),不能输入字母和运算符号:<input onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 || /\.\d\d$/.test(value))event.returnValue=false">8.小数点后只能有最多两位(数字,字母,中文都可输入),可以输入运算符号:<input onkeyup="this.value=this.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')">————————————————————————————————————————只能输入汉字:<input onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))">只能输入数字:<input onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">只能输入英文和数字:<input onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">控制输入框只能输入文字或数字,也可以不允许输入特殊字符这里不允许输入如下字符: (像 !@#$%^&* 等)<br><textarea rows=2 cols=20 name=comments onKeypress="if ((event.keyCode > 32 && event.keyCode < 48) || (event.keyCode > 57 && event.keyCode < 65) || (event.keyCode > 90 && event.keyCode < 97)) event.returnValue = false;">只禁止空格输入onkeyup="value=value.replace(/\s/g,'')"只能输入中文和英文:onkeyup="value=value.replace(/[^\a-zA-Z\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\a-zA-Z\u4E00-\u9FA5]/g,''))"

?

?

热点排行