`
liuxinglanyue
  • 浏览: 562527 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Java 常用正则表达式(收集)

阅读更多

"^\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+)?$"  //浮点数 
"^[A-Za-z]+$"  //由26个英文字母组成的字符串 
"^[A-Z]+$"  //由26个英文字母的大写组成的字符串 
"^[a-z]+$"  //由26个英文字母的小写组成的字符串 
"^[A-Za-z0-9]+$"  //由数字和26个英文字母组成的字符串 
"^\w+$"  //由数字、26个英文字母或者下划线组成的字符串 
"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$"    //email地址 
"^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$"  //url 
/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/ // 年-月-日 
/^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/ // 月/日/年 
"^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$" //Emil 
"(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?" //电话号码 
"^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$" //IP地址 



匹配中文字符的正则表达式: [\u4e00-\u9fa5] 
匹配双字节字符(包括汉字在内):[^\x00-\xff] 
匹配空行的正则表达式:\n[\s| ]*\r 
匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/ 
匹配首尾空格的正则表达式:(^\s*)|(\s*$) 
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 
匹配网址URL的正则表达式:^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$ 
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$ 
匹配国内电话号码:(\(\d{3,4}\)|\d{3,4}-|\s)?\d{8} 
正确格式为:“XXXX-XXXXXXX”,“XXXX-XXXXXXXX”,“XXX-XXXXXXX”, 

“XXX-XXXXXXXX”,“XXXXXXX”,“XXXXXXXX”。 
验证身份证号(15位或18位数字):“^d{15}|d{}18$” 
匹配腾讯QQ号:^[1-9]*[1-9][0-9]*$ 


匹配中文字符的正则表达式: [u4e00-u9fa5] 

匹配双字节字符(包括汉字在内):[^x00-xff] 

应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 

String.prototype.len=function(){return this.replace([^x00-xff]/g,"aa").length;} 

匹配空行的正则表达式:n[s| ]*r 

匹配HTML标记的正则表达式:/<(.*)>.*</1>|<(.*) />/ 

匹配首尾空格的正则表达式:(^s*)|(s*$) 

应用:javascript中没有像vbscript那样的trim函数,我们就可以利用这个表达式来实现,如下: 

String.prototype.trim = function() 

return this.replace(/(^s*)|(s*$)/g, ""); 


利用正则表达式分解和转换IP地址: 

下面是利用正则表达式匹配IP地址,并将IP地址转换成对应数值的Javascript程序: 

function IP2V(ip) 

re=/(d+).(d+).(d+).(d+)/g //匹配IP地址的正则表达式 
if(re.test(ip)) 

return RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1 

else 

throw new Error("Not a valid IP address!") 



不过上面的程序如果不用正则表达式,而直接用split函数来分解可能更简单,程序如下: 

var ip="10.100.20.168" 
ip=ip.split(".") 
alert("IP值是:"+(ip[0]*255*255*255+ip[1]*255*255+ip[2]*255+ip[3]*1)) 

匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)* 

匹配网址URL的正则表达式:http://([w-]+.)+[w-]+(/[w- ./?%&=]*)? 

利用正则表达式去除字串中重复的字符的算法程序: 

var s="abacabefgeeii" 
var s1=s.replace(/(.).*1/g,"$1") 
var re=new RegExp("["+s1+"]","g") 
var s2=s.replace(re,"") 
alert(s1+s2) //结果为:abcefgi 

得用正则表达式从URL地址中提取文件名的javascript程序,如下结果为page1 

s="http://www.9499.net/page1.htm" 
s=s.replace(/(.*/){0,}([^.]+).*/ig,"$2") 
alert(s) 

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

用正则表达式限制只能输入中文: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,''))" 

分享到:
评论

相关推荐

    正则表达式大全.docx

    在下面,我们将收集一些常用的正则表达式,以备不时之需。 1. 用户名:/^[a-z0-9_A-Z]{3,16}$/ 该正则表达式用于匹配用户名,要求用户名只能包含小写字母、数字、下划线和大写字母,长度在 3 到 16 个字符之间。 ...

    java script 正则表达式验证大全

    下面都是我收集的一些比较常用的正则表达式,因为平常可能在表单验证的时候,用到的比较多。特发出来,让各位朋友共同使用。呵呵。 匹配中文字符的正则表达式: [u4e00-u9fa5] 评注:匹配中文还真是个头疼的事,有...

    精通正则表达式~~~

    精通正则表达式第三版 搜集于网络 前言..........I 第1章:正则表达式入门.... 1 解决实际问题... 2 作为编程语言的正则表达式... 4 以文件名做类比... 4 以语言做类比... 5 正则表达式的知识框架... 6 对于...

    正则表达式

    由于某些字符类非常常用,所以JavaScript的正则表达式语法包含一些特殊字符和转义序列来表示这些常用的类.例如, \s 匹配的是空格符,制表符和其它空白符, \s 匹配的则是空白符之外的任何字符. 正则表灰式的字符类 ...

    正则使用和测试

    - **案例库**:收集和保存常用的正则表达式模式,方便日后复用。 4. **正则表达式进阶** - **反向引用**:使用\数字引用前面分组的匹配内容,如(\w+)\s+\1匹配重复的单词。 - **环视条件**:如(?=pattern)正向前...

    疯狂java培训的sina微博源码

    这个压缩包包含了两个主要部分:一个用于收集和处理常用正则表达式的集合,以及具体的Sina微博源码示例。这些内容旨在帮助开发者提升在Android平台上实现Oauth认证、动画效果和异步处理的技能。 首先,让我们关注...

    Java一些常用验证整理

    这里的【标题】"Java一些常用验证整理"和【描述】"Java一些常用验证整理,附有有关代码"指的是收集并整理了一些常见的Java验证方法。这些方法主要用于检查用户输入、数据交换等场景中的字符串格式,以确保其合法性。...

    Java.NIO资源下载资源下载

    - **Java 正则表达式 API**:详细讲解了 Java 提供的正则表达式 API 及其使用方法。 - **字符串类的正则表达式方法**:讨论了 String 类中与正则表达式相关的内置方法。 - **面向对象的文件 grep**:通过一个具体的...

    PilotEdit Lite v12.7.0.zip

    可以把常用的正则表达式定义在脚本中,直接运行脚本即可替换文字 14. 256位 AES加密/解密 用PilotEdit直接透明地编辑一个加密的文件 加密/解密多个文件和目录 加密/解密超过4G的文件 15. 文件组 双击文件组...

    PilotEdit支持超过400G的文件编辑

     &gt;可以把常用的正则表达式定义在脚本中,直接运行脚本即可替换文字  14、256位 AES加密/解密  &gt;用PilotEdit直接透明地编辑一个加密的文件  &gt;加密/解密多个文件和目录  &gt;加密/解密超过4G的文件  15、文件...

    java常用字符串方法网络收集txt版

    本资料"java常用字符串方法网络收集txt版"很可能是对这些常用方法的集合整理,旨在帮助Java程序员快速查找和理解相关功能。 1. **创建与初始化字符串** - `new String()`: 构造一个新字符串,可以传入字符数组或另...

    功能超级强悍的文本编辑器 PilotEdit 14.3.0 + x64 中文多语免费版.zip

    &gt;可以把常用的正则表达式定义在脚本中,直接运行脚本即可替换文字 14. 256位 AES加密/解密 &gt;用PilotEdit直接透明地编辑一个加密的文件 &gt;加密/解密多个文件和目录 &gt;加密/解密超过4G的文件 15. 文件组 &gt;双击文件组可以...

    开发人员一定要加入收藏夹的网站

    RexV.org利用Ajax技术开发了一个在线正则表达式验证器,让开发者能够即时测试和调试正则表达式,大大提高了开发效率。对于需要频繁处理文本匹配和替换任务的开发者来说,这是一个非常实用的工具。 ### 代码搜索引擎...

    java常用字符串方法,网络收集,txt版

    本资源"java常用字符串方法,网络收集,txt版"主要整理了Java中常用的字符串处理方法,这对于Java程序员来说是一份宝贵的参考资料。下面,我们将详细探讨这些方法,并结合实例进行讲解。 1. **创建字符串** - `...

Global site tag (gtag.js) - Google Analytics