Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 1073|回复: 0

javascript 正则表达式--大荟萃

[复制链接]

该用户从未签到

发表于 2011-10-16 17:06:37 | 显示全部楼层 |阅读模式
一、js判断数字-正则表达式

"^\\d+$"  //非负整数(正整数 + 0)

"^[0-9]*[1-9][0-9]*$"  //正整数

"^((-\\d+)|(0+))$"  //非正整数(负整数 + 0)

"^-[0-9]*[1-9][0-9]*$"  //负整数

"^-?\\d+$"    //整数

"^\\d+(\\.\\d+)?$"  //非负浮点数(正浮点数 + 0)

"^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //正浮点数

"^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$"  //非正浮点数(负浮点数 + 0)

"^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"  //负浮点数

"^(-?\\d+)(\\.\\d+)?$"  //浮点数

测试:

<script>

function forcheck(ss){

var  ;
        var   re   =   new   RegExp(type);
       if(ss.match(re)==null)
        {
         alert( "请输入大于零的整数!");
        return;
       }

}

</script>

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>  

--------------------------------------------------------------------------------  

/^[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);  
}





//正则匹配   
匹配中文字符的正则表达式:   [\u4e00-\u9fa5]   
匹配双字节字符(包括汉字在内):[^\x00-\xff]   
匹配空行的正则表达式:\n[\s|   ]*\r   
匹配HTML标记的正则表达式:/ <(.*)> .* <\/\1> | <(.*)   \/> /   
匹配首尾空格的正则表达式:(^\s*)|(\s*$)(像vbscript那样的trim函数)   
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*   
匹配网址URL的正则表达式:http://([\w-]+\.)+[\w-]+(/[\w-   ./?%&=]*)?   
以下是例子:   
利用正则表达式限制网页表单里的文本框输入内容:   
用正则表达式限制只能输入中文:onkeyup= "value=value.replace(/[^\u4E00-\u9FA5]/g, ' ') "   
onbeforepaste= "clipboardData.setData( 'text ',clipboardData.getData( 'text ').replace(/[^\u4E00-\u9FA5]/g, ' ')) "   

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

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

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


1>.var reg=/^[\u4E00-\u9FA5]+$/;

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



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

也可以这样:
<input name= caolig value ="">  
5>.
文本框里只能输入特定的字付的和文本框里不能右键弹

<!DOCTYPE HTML PUBLIC "-//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
onKeyUp="this.value=this.value.replace(/\D/g,'')"
onafterpaste="this.value=this.value.replace(/\D/g,'')" >
<br>
只能输入英文和数字
<br>
<input maxlength="13">
<br>
只能输入中文
<br>
<input>
<br>
<br>
实验成功
<br>只能输入数字<br>
<input>

<br>只能输入数字<br>
<input>

<br>只能输入大小写英文<br>
<input>

<br>只能输入大小定英文和数字<br>
<input>

<br>只能输入中文<br>
<input>

<br>只能输入大小定中文、英文和数字和@符号和.符号<br>
<input>

<br>只允许输入大小写英文,且不能粘贴也无法弹出粘贴菜单<br />
<input oncontextmenu = "return false"/>

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

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

使用道具 举报

该用户从未签到

发表于 2011-10-18 04:30:33 | 显示全部楼层
批发各种厂家盐酸曲马多QQ:QQ:2280619240 ,盐酸曲马多批发零售均可,盐酸曲马多淘宝支付宝交易,盐酸曲马多全国最低价,联系电话15872394927    www.qumaduo888.com 批发各种厂家盐酸曲马多QQ:QQ:2280619240 ,盐酸曲马多批发零售均可,盐酸曲马多淘宝支付宝交易,盐酸曲马多全国最低价,联系电话15872394927    www.qumaduo888.com

    批发各种厂家盐酸曲马多QQ:QQ:2280619240 ,盐酸曲马多批发零售均可,盐酸曲马多淘宝支付宝交易,盐酸曲马多全国最低价,联系电话15872394927    www.qumaduo888.com

     批发各种厂家盐酸曲马多QQ:QQ:2280619240 ,盐酸曲马多批发零售均可,盐酸曲马多淘宝支付宝交易,盐酸曲马多全国最低价,联系电话15872394927    www.qumaduo888.com

    批发各种厂家盐酸曲马多QQ:QQ:2280619240 ,盐酸曲马多批发零售均可,盐酸曲马多淘宝支付宝交易,盐酸曲马多全国最低价,联系电话15872394927    www.qumaduo888.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2025-1-8 13:18 , Processed in 0.449052 second(s), 50 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表