C#中使用正则表达式验证电话号码、手机号、身份证号、数字和邮编

C#中使用正则表达式验证电话号码、手机号、身份证号、数字和邮编
C#中使用正则表达式验证电话号码、手机号、身份证号、数字和邮编

C#中使用正则表达式验证电话号码、手机号、身份证号、数字和邮编

2011-12-07 07:56 574人阅读评论(0) 收藏举报正则表达式电话手机c#string

验证电话号码的主要代码如下:

public bool IsTelephone(string str_telephone)

{

return System.Text.RegularExpressions.Regex.IsMatch(str_telephone,

@"^(\d{3,4}-)?\d{6,8}$");

}

验证手机号码的主要代码如下:

public bool IsHandset(string str_handset)

{

return System.Text.RegularExpressions.Regex.IsMatch(str_handset,

@"^[1]+[3,5]+\d{9}");

}

验证身份证号的主要代码如下:

public bool IsIDcard(string str_idcard)

{

return System.Text.RegularExpressions.Regex.IsMatch(str_idcard,

@"(^\d{18}$)|(^\d{15}$)");

}

验证输入为数字的主要代码如下:

public bool IsNumber(string str_number)

{

return System.Text.RegularExpressions.Regex.IsMatch(str_number,

@"^[0-9]*$");

}

验证邮编的主要代码如下:

public bool IsPostalcode(string str_postalcode)

{

return System.Text.RegularExpressions.Regex.IsMatch(str_postalcode, @"^\d{6}$");

}

智能客服系统机器人

智能客服系统机器人 新一代智能客服机器人平台整合了最先进的云计算、分布式微服务、大数据,应用了目前最前沿的自然语义处理及深度学习算法,为客户提供一套简单可依赖的智能机器人系统,让客户的产品插上人工智能的翅膀,施展自己的AI创新能力。通过机器人的24小时全天候服务、接待零延迟、全渠道辅助人工等功能助力企业提升服务体验和效率,减少客服人力成本。 客服机器人帮助企业业务智能化和自助化: 通过任务功能对接企业业务接口等,可帮助企业实现业务流程自助化、智能化,帮助企业优化业务流程。比如:智能创建工单、工资异常查询、开发票、预定机票等。 1 问答——提升客户服务效率 1.1 问答双引擎模式 价值:支持传统NLP普通问答和深度学习模型问答。 背景:市面上目前的机器人主流都是nlp普通问答,若要进行模型问答,需要客户提供语料进行线下训练模型。在产品侧可以一键开启模型问答,无需线下部署训练,快速搭建自己的模型知识库。 使用场景:二者采用的算法技术不一样,通过模型问答将极大提高问答回复的准确率。前期相似问数量不够的知识点则可以通过普通问答进行回复,待系统上线一段时间后,通过知识学习工具,将知识点的相似问数量扩充足够、质量够好时,就可以开启使用模型问答。 目标:尽可能将更多的知识点由nlp普通问答过渡到模型问答。 1.2 自定义阈值 价值:每个客户都可自由控制自己机器人的问答逻辑 背景:市面其他机器人的问答阈值基本都是系统内置定义好的,不允许自由变更。允许每个客户根据自己知识库实际情况以及应用阶段来自定义阈值,控制机器人的问答。 使用场景:问答阈值和差值阈值的设置都具体到每个机器人的层面,训练师可以根据客户的业务知识库阶段及行业属性来调整到合适阈值。 2 任务型机器人——助力企业业务智能化 任务型设计初衷是为了帮助企业业务智能化、自助化。通过任务型接口,可以与企业业务系统实现完美对接,通过多轮对话,极致提升用户对话体验。 2.1 函数服务 函数服务可以使用代码处理一些复杂业务逻辑,无需用户接口单独处理;例如:密码错误次数判断。通过函数服务还可以完美对接客户的复杂业务接口,实现业务互通。 2.2 多场景自由切换/任务轮次限制

正则表达式

1.验证用户名和密码:("^[a-zA-Z]\w{5,15}$")正确格式:"[A-Z][a-z]_[0-9]"组成,并且第一个字必须为字母6~16位; 2.验证电话号码:("^(\d{3,4}-)\d{7,8}$")正确格式:xxx/xxxx-xxxxxxx/xxxxxxxx; 3.验证手机号码:"^1[3|4|5|7|8][0-9]\\d{8}$"; 4.验证身份证号(15位或18位数字):"\d{14}[[0-9],0-9xX]"; 5.验证Email地址:("^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"); 6.只能输入由数字和26个英文字母组成的字符串:("^[A-Za-z0-9]+$"); 7.整数或者小数:^[0-9]+([.][0-9]+){0,1}$ 8.只能输入数字:"^[0-9]*$"。 9.只能输入n位的数字:"^\d{n}$"。 10.只能输入至少n位的数字:"^\d{n,}$"。 11.只能输入m~n位的数字:"^\d{m,n}$"。 12.只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"。 13.只能输入有两位小数的正实数:"^[0-9]+(\.[0-9]{2})?$"。 14.只能输入有1~3位小数的正实数:"^[0-9]+(\.[0-9]{1,3})?$"。 15.只能输入非零的正整数:"^\+?[1-9][0-9]*$"。 16.只能输入非零的负整数:"^\-[1-9][0-9]*$"。 17.只能输入长度为3的字符:"^.{3}$"。 18.只能输入由26个英文字母组成的字符串:"^[A-Za-z]+$"。 19.只能输入由26个大写英文字母组成的字符串:"^[A-Z]+$"。 20.只能输入由26个小写英文字母组成的字符串:"^[a-z]+$"。 21.验证是否含有^%&',;=?$\"等字符:"[%&',;=?$\\^]+"。 22.只能输入汉字:"^[\u4e00-\u9fa5]{0,}$"。 23.验证URL:"^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$"。 24.验证一年的12个月:"^(0?[1-9]|1[0-2])$"正确格式为:"01"~"09"和"10"~"12"。 25.验证一个月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"正确格式为;"01"~"09"、"10"~"29"和“30”~“31”。 26.获取日期正则表达式:\\d{4}[年|\-|\.]\d{\1-\12}[月|\-|\.]\d{\1-\31}日? 评注:可用来匹配大多数年月日信息。 27.匹配双字节字符(包括汉字在内):[^\x00-\xff] 评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 28.匹配空白行的正则表达式:\n\s*\r 评注:可以用来删除空白行 29.匹配HTML标记的正则表达式:<(\S*?)[^>]*>.*?|<.*? /> 评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力 30.匹配首尾空白字符的正则表达式:^\s*|\s*$

使用正则表达式判断如果电话输入了,则输入的电话号码必须为数字

/*使用正则表达式判断如果电话输入了,则输入的电话号码必须为数字*/ var con = document.getElementById('tel').value; var tel =/[^0-9]; var zip=document.getElementById('zip').value; https://www.360docs.net/doc/f715098502.html,pile(/^[0-9]{6}$/); if(tel.test(con)){ document.getElementById('show5').innerText='输入的电话号码必须为数字'; return false; } if(!re.test(trim(zip))){ document.getElementById('show7').innerText='*邮编格式不正确'; return false; } */ 2. 只能是汉字: ﹤input onkeyup="value="/oblog/value.replace(/[^\u4E00-\u9FA5]/g,'')"﹥ 3.只能是英文: ﹤script language=java script ﹥function onlyEng(){if(!(event.keyCode﹥=65&&event.keyCode﹤=90))event.returnvalue=false;}﹤/ script ﹥﹤input onkeydown="onlyEng();"﹥

4. 只能是数字: ﹤script language=java script ﹥function onlyNum(){if(!((event.keyCode﹥=48&&event.keyCode﹤=57)||(event.keyCode﹥=96&&event.keyCode﹤=105)))//考虑小键盘上的数字键event.returnvalue=false;}﹤/ script ﹥﹤input onkeydown="onlyNum();"﹥ . 只能是英文字符和数字: ﹤input onkeyup="value="/oblog/value.replace(/[\W]/g,"'')"onbeforepaste="clipboardData.s etData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"﹥ 6. 验证邮箱格式: ﹤script LANGUAGE=java script RUNAT=Server﹥function isEmail(strEmail) {if (strEmail.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Z a-z0-9]+$/) != -1)return true;elsealert("oh");}﹤/ script ﹥﹤input type=text onblur=isEmail(this.value)﹥ ﹤script LANGUAGE=java script RUNAT=Server﹥function isEmail(strEmail) {if (strEmail.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Z a-z0-9]+$/) != -1)return true;elsealert("oh");}﹤/ script ﹥﹤input type=text onblur=isEmail(this.value)﹥ 7. 屏蔽关键字(这里屏蔽***和****): ﹤ script language="java script 1.2"﹥function test() {if((a.b.value.indexOf ("***") == 0)||(a.b.value.indexOf ("****") == 0)){alert(":)");a.b.focus();return false;}}﹤/ script ﹥﹤form name=a onsubmit="return test()"﹥﹤input type=text name=b﹥﹤

第二阶段考试题

第二阶段考试题(HTML、Servlet、JSP、Javascript、Ajax、JQuery) 默认分类2009-03-11 10:27:59 阅读474 评论0 字号:大中小订阅 -------------------------------------以下为笔试题(每题2分)------------------------------------------------ 1. 使用HTTP协议将客户端的请求传送到服务器端有哪两种方式?请简述它们的区别 1) get是从服务器上获取数据,post是向服务器传送数据。 2) 在客户端,Get方式在通过URL提交数据,数据在URL中可以看到;POST 方式,数据放置在HTML HEADER内提交。 3) 对于get方式,服务器端用request.getQueryString()可以获取GET请求参数的变量值,对于post方式,服务器端用request.getParameter获取提交的数据。 4) GET方式提交的数据最多只能有1024字节,而POST则没有此限制。 5) 安全性问题。正如在(1)中提到,使用Get 的时候,参数会显示在地址栏上,而Post 不会。所以,如果这些数据是中文数据而且是非敏感数据,那么使用get;如果用户输入的数据不是中文字符而且包含敏感数据,那么还是使用post为好。 2. WEB容器主要有哪些功能?并请列出一些常见的WEB容器名字。 1) 提供Servlet程序编写API 2) 提供Servlet程序运行时环境。 常见的有Apache, IIS, Tomcat, Resin 等等 3. 请简述Servlet的生命周期及其相关的方法。 实例化,初始化,提供服务,销毁 init()、service()和destroy() 4. 在Servlet中,我们通过什么方法获取客户端提交的数据 Request.getParameter() 5. 在Servlet中,通过什么语句生成向客户端发送的页面?请编写一段简单的Hello World输出 PrintWriter out = response.getWriter(); Out.print(); Out.print(“Hello World!”); 6. 请简述一下部署Serlvet的过程

java正则表达式验证格式(邮箱电话号码)

Java正则表达式验证格式(邮箱、电话号码) package com.firewolf.utils;import java.util.regex.Matcher;import java.util.regex.Pattern;/** * 使用正则表达式验证输入格式* @author liuxing * */public class RegexValidateUtil { public static void main(String[] args) { System.out.println(checkEmail("14_8@qw.df")); System.out.println(checkMobileNumber("071-3534452")); } /** * 验证邮箱* @param email * @return */ public static boolean checkEmail(String email){ boolean flag = false; try{ String check = "^([a-z0-9A-Z]+[-|_|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0 -9A-Z]+)?\\.)+[a-zA-Z]{2,}$"; Pattern regex = https://www.360docs.net/doc/f715098502.html,pile(check); Matcher matcher = regex.matcher(email); flag = matcher.matches(); }catch(Exception e){ flag = false; } return flag; } /** * 验证手机号码* @param mobiles * @return */ public static boolean checkMobileNumber(String

正则表达式验证 身份证 手机号 电话号 ip 数字 英文 邮箱 email

package besttone.utils; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * 90%的验证都调用了Regular方法但是本类也可删除大部分方法涉及到正则的判断都直接穿参数和正则表达式 * 但是为了方便业务类调用和有更直观的含义建议不要这么做 * Pattern的matcher已经被同步synchronized 所以此类的任何使用正则验证的方法都不需要同步 * */ public class RegularValidate { public RegularValidate() { } //ip check public static boolean isboolIP(String ipAddress){ String ip="(2[5][0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})"; Pattern pattern = https://www.360docs.net/doc/f715098502.html,pile(ip); Matcher matcher = pattern.matcher(ipAddress); return matcher.matches(); } //------------------常量定义 /** * Email正则表达式=^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$ */ public static final String EMAIL = "^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$"; /** * 电话号码正则表达式= (^(\d{2,4}[-_-—]?)?\d{3,8}([-_-—]?\d{3,8})?([-_-—]?\d{1,7})?$)|(^0?1[35]\d{9}$) */ public static final String PHONE = "(^(\\d{2,4}[-_-—]?)?\\d{3,8}([-_-—]?\\d{3,8})?([-_-—]?\\d{1,7})?$)|(^0?1[35]\\d{9}$)" ; /** * 手机号码正则表达式=^(13[0-9]|15[0|3|6|7|8|9]|18[0,5-9])\d{8}$ */ public static final String MOBILE ="^(13[0-9]|15[0|3|6|7|8|9]|18[8|9])\\d{8}$"; /** * IP地址正则表达式

电话号码正则表达式

电话号码正则表达式 电话号码正则表达式 电话号码正则表达式(支持手机号码,3-4位区号,7-8位直播号码,1-4位分机号)((d{11})|^((d{7,8})|(d{4}|d{3})-(d{7,8})|(d{4}|d{3})-(d{7,8})-(d{4}|d{3}|d{2}|d{1})| (d{7,8})-(d{4}|d{3}|d{2}|d{1}))$) 匹配格式: 11位手机号码 3-4位区号,7-8位直播号码,1-4位分机号 如:12345678901、1234-12345678-1234 正则表达式--验证手机号码:13[0-9]{9} 实现手机号前带86或是+86的情况:^((+86)|(86))?(13)d{9}$ 电话号码与手机号码同时验证:(^(d{3,4}-)?d{7,8})$|(13[0-9]{9}) 提取信息中的网络链接:(h|H)(r|R)(e|E)(f|F) *= *('|")?(w|\|/|.)+('|"| *|>)? 提取信息中的邮件地址:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)* 提取信息中的图片链接:(s|S)(r|R)(c|C) *= *('|")?(w|\|/|.)+('|"| *|>)? 提取信息中的IP地址:(d+).(d+).(d+).(d+) 提取信息中的中国手机号码:(86)*0*13d{9} 提取信息中的中国固定电话号码:((d{3,4})|d{3,4}-|s)?d{8} 提取信息中的中国电话号码(包括移动和固定电话):((d{3,4})|d{3,4}-|s)?d{7,14} 提取信息中的中国邮政编码:[1-9]{1}(d+){5} 提取信息中的中国身份证号码:d{18}|d{15} 提取信息中的整数:d+ 提取信息中的浮点数(即小数):(-?d*).?d+ 提取信息中的任何数字:(-?d*)(.d+)? 提取信息中的中文字符串:[u4e00-u9fa5]* 提取信息中的双字节字符串(汉字):[^x00-xff]* 验证手机和电话号码的正则表达式 规则的国内固定电话和传真的格式基本都是带有0的区号连接符“-”+电话号码,另外还有可能有分机号,区号有3位、4位,电话号码有7位和8位的;其它格式的有前面不带0的,或者不带连接符的,或者分机号前面使用#号的,或者前面加“ 86”的等等; 区号:前面一个0,后面跟2-3位数字:0d{2,3} 电话号码:7-8位数字:d{7,8} 分机号:一般都是3位数字:d{3,} 这样连接起来就是验证电话的正则表达式了:/^((0d{2,3})-)(d{7,8})(-(d{3,}))?$/ 手机号码前面以1开头,第二位现在是3或者5,后面是9位数字,则:/^1[35]d{9}$/

电话号码正则表达式

电话号码正则表达式 电话号码正则表达式(支持手机号码,3-4位区号,7-8位直播号码,1-4位分机号)((d{11})|^((d{7,8})|(d{4}|d{3})-(d{7,8})|(d{4}|d{3})-(d{7,8})- (d{4}|d{3}|d{2}|d{1})|(d{7,8})-(d{4}|d{3}|d{2}|d{1}))$) 匹配格式: 11位手机号码 3-4位区号,7-8位直播号码,1-4位分机号 如: 901、-1234 正则表达式--验证手机号码:13[0-9]{9} 实现手机号前带86或是+86的情况: ^((+86)| (86))? (13)d{9}$ 电话号码与手机号码同时验证: (^(d{3,4}-)?d{7,8})$|(13[0-9]{9}) 提取信息中的网络链接: (h|H)(r|R)(e|E)(f|F)*=*('|")?(w|\|/|.)+('|"|*|>)?提取信息中的邮件地址: w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)* 提取信息中的图片链接: (s|S)(r|R)(c|C)*=*('|")?(w|\|/|.)+('|"|*|>)?

提取信息中的IP地址: (d+).(d+).(d+).(d+) 提取信息中的xx手机号码: (86)*0*13d{9} 提取信息中的xx固定电话号码: ((d{3,4})|d{3,4}-|s)?d{8} 提取信息中的中国电话号码(包括移动和固定电话): ((d{3,4})|d{3,4}-|s)?d{7,14}提取信息中的中国邮政编码: [1-9]{1}(d+){5} 提取信息中的xx身份证号码: d{18}|d{15} 提取信息中的整数: d+ 提取信息中的浮点数(即小数): (-?d*).?d+ 提取信息中的任何数字: (-?d*)(.d+)? 提取信息中的中文字符串: [u4e00-u9fa5]* 提取信息中的双字节字符串(汉字): [^x00-xff]*

JAVA高级工程师笔试题(技术部分)

Java 软件高级工程师笔试题 【智力部分】(30分) 1.烧一根不均匀的绳要用一个小时,如何用它来判断半个小时?(5分) 2.4,4,10,10,加减乘除,怎么出24点?(5分) 3.如果你有无穷多的水,一个容积为3L的和5L的提桶,你如何准确称出 4L的水?(5分) 4.一只蜗牛从井底爬到井口,每天白天蜗牛要睡觉,晚上才出来活动,一个晚上蜗牛可以向上爬3尺,但是白天 睡觉的时候会往下滑2尺,井深10尺,问蜗牛几天可以爬出来?(5分) 5.有一种细菌,经过一分钟分裂为2个,再过一分钟,分裂为4个,这样,将一个细菌放在一个瓶子里面,一个 小时后瓶子被细菌充满了。现在假设一开始放入瓶中的为两个细菌,那么到充满瓶子要多长的时间?(10分) 【专业部分】(70分) 6.简述一下面向对象的特征,并举例说明你对面向对象的理解?(5分) 7.ArrayList和HsahSet的区别,HashMap和Hashtable的区别?(5分) 8.线程同步的关键字是什么?sleep() 和wait() 有什么区别?怎么唤醒wait()停止的线程?(5分) 9.列举你在项目中常用的设计模式(伪代码或类图),并说明每种设计模式的具体应用场景。(5分) 10.Spring中事务管理支持哪几种方式以及每种方式的具体使用方法。(5分)

11.Hibernate的缓存等级及其特点(5分) 12.至少写出一种11位手机号码的正则表达式。(5分) 13.用简短的代码实现字符串“s tr in g”到“s tr in g”转换。即将多个空格转换为一个空 格(5分) 14.使用Socket编写一个程序,客户端向服务器端发送请求(发送字符串即可),服务端接收后发送反馈信息.(10 分) 15.用SQL语句实现Oracle分页查询。(10分) 16.aa,bb表都有20个字段,且记录数量都很大,aa,bb表的X字段(非空)上有索引,请用SQL列出aa 表里面存在的X在bb表不存在的X的值,请写出认为最快的语句,并解译原因。(10分)

电话号码正则表达式

电话号码正则表达式(支持手机号码,3-4位区号,7-8位直播号码,1-4位分机号) ((\d{11})|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-(\d{7,8}) -(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1}))$) 匹配格式: 11位手机号码 3-4位区号,7-8位直播号码,1-4位分机号 如:12345678901、1234-12345678-1234 "^\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 /^13\d{9}$/gi手机号正则表达式 public static bool IsValidMobileNo(string MobileNo) { const string regPattern =

正则表达式_email_数字_字母_下划线_汉字

email和数字,字母,下划线还有汉字的正则表达式 关键字: 正则表达式 email 数字字母下划线汉字 自己总结的正则表达式:绝对正确的,本人已经验证通过了。 Java代码 1.1. 只有字母、数字和下划线且不能以下划线开头和结尾的正则表达式: ^(?!_)(?!.*?_$)[a-zA-Z0-9_]+$ 2.只有字母和数字的: ^[a-zA-Z0-9_]+$ 3.2. 至少一个汉字、数字、字母、下划 线: "[a-zA-Z0-9_\u4e00-\u9fa5]+" 4.3. 至少一个汉字的正则表达式:"^[\u4e00-\u9fa5]" 5.4. 最多10个汉 字: ValidationExpression="^[\u4e00-\u9fa5]{0,10}" 6.5. 只含有汉字、数字、字母、下划线不能以下划线开头和结尾: ^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$ 7.解释: 8. ^ 与字符串开始的地方匹配 9. (?!_) 不能以_开头 10. (?!.*?_$) 不能以_结尾 11. [a-zA-Z0-9_\u4e00-\u9fa5]+ 至少一个汉字、数字、字母、 下划线 12. $ 与字符串结束的地方匹配 13. 14.6. email正则表达式:两种方式都可以 15. (1) \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 16. (2) ^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A- Za-z0-9-]+)*((\\.[A-Za-z]{2,}){1}$) 下面是转载的(但我验证了下怎么没有成功?又期待性): Java代码 1.完美E-Mail正则表达式: 2.国际域名格式如下: 3.域名由各国文字的特定字符集、英文字母、数字及“-”(即连 字符或减号)任意组合而成, 但开头及结尾均不能含有“-”,“-”不能连续出现。域名中字母不分大小写。域名最长可达60个字节(包括后缀.com、.net、.org等)。 4. 5.

JAVA高级工程师笔试题

Java软件高级工程师笔试题 【智力部分】(30分) 1.烧一根不均匀的绳要用一个小时,如何用它来判断半个小时?(5分) 半小时:两头同时烧. 一个小时十五分钟: 一根正常烧,一根两头烧. 在两头烧完的一刹那,把正常烧的那根的另一头也点燃.这根烧完后是45分钟. 在烧完后的一刹那,在把一根两头烧.合计一个小时十五分钟. 2.4,4,10,10,加减乘除,怎么出24点?(5分) (10×10-4)÷4=24 3.如果你有无穷多的水,一个容积为3L的和5L的提桶,你如何准确称出4L的水?(5分) 这个容易!先将3L的桶装满水,倒入5L的桶,再重新将3L的桶装满水,倒入5L的桶,把5L的桶装满,这样3L的桶中就剩下1L水,然后把5公升的水倒掉,把3公升的桶中剩下的1L水到入5L的桶里,再打满3L的桶倒入5L的桶里,就是4L了. 4.一只蜗牛从井底爬到井口,每天白天蜗牛要睡觉,晚上才出来活动,一个晚上蜗牛可以向上爬3尺,但是白天 睡觉的时候会往下滑2尺,井深10尺,问蜗牛几天可以爬出来?(5分) 8天 5.有一种细菌,经过一分钟分裂为2个,再过一分钟,分裂为4个,这样,将一个细菌放在一个瓶子里面,一个 小时后瓶子被细菌充满了。现在假设一开始放入瓶中的为两个细菌,那么到充满瓶子要多长的时间?(10分) 从纯数学的角度来看,先放入一个细菌,每分钟增加一倍,花了60分钟. 第一分钟是从一个细菌变为2个细菌. 如果直接放入2个,就省了第一个一分钟.所以是59分钟. 不过,如果是数学题,我就不说什么了.如果是生物题,你那个出题的老师就是笨蛋一个.细菌不会凭空分裂,需要养分.不可能把瓶子填满! 【专业部分】(70分) 6.简述一下面向对象的特征,并举例说明你对面向对象的理解?(5分) 7.ArrayList和HsahSet的区别,HashMap和Hashtable的区别?(5分) 8.线程同步的关键字是什么?sleep()和wait()有什么区别?怎么唤醒wait()停止的线程?(5分)

优化App性能的20个建议

优化App性能的20个建议 你的app为什么会卡?为什么占用大内存?应该怎么解决?今天这20条建议,给你答案。 1. itmap的合理使用: 使用Bitmap过后,就需要及时的调用recycle()方法来释放Bitmap占用的内存空间,而不要等Android系统来进行释放。 代码示例: // 先判断是否已经回收 if(bitmap != null && !bitmap.isRecycled()){ bitmap.recycle(); bitmap = null; } System.gc(); 2. 对常量使用static final修饰符 static final int intVal = 42; static final String strVal = “Hello, world!”; 将一个方法或类声明为final不会带来性能的提升,但是会帮助编译器优化代码。举例说,如果编译器知道一个getter方法不会被重载,那么编译器会对其采用内联调用。

3. 静态方法代替虚拟方法 如果不需要访问某对象的字段,将方法设置为静态,调用会加速15%到20%。这也是一种好的做法,因为你可以从方法声明中看出调用该方法不需要更新此对象的状态。 4. 减少不必要的全局变量 尽量避免static成员变量引用资源耗费过多的实例,比如Context,因为Context的引用超过它本身的生命周期,会导致Context泄漏。所以尽量使用Application这种Context 类型。可以通过调用Context.getApplicationContext()或Activity.getApplication()轻松得到Application对象。 5. 避免创建不必要的对象: 就是避免创建短命的临时对象。减少对象的创建就能减少垃圾收集,进而减少对用户体验的影响。 例如:频繁操作一个字符串时,使用StringBuffer代替String。 6. 对于所有所有基本类型的组合: int数组比Integer数组好,这也概括了一个基本事实,两个平行的int数组比(int,int)对象数组性能要好很多。.避免使用浮点数。 通常的经验是,在Android设备中,浮点数会比整型慢两倍。 7. 使用实体类比接口好 假设你有一个HashMap对象,你可以将它声明为HashMap或者Map: Map map1 = new HashMap(); HashMap map2 = new HashMap(); 哪个更好呢? 按照传统的观点Map会更好些,因为这样你可以改变他的具体实现类,只要这个类继承自Map接口。传统的观点对于传统的程序是正确的,但是它并不适合嵌入式系统。调用一个接口的引用会比调用实体类的引用多花费一倍的时间。如果HashMap完全适合你的程序,那么使用Map就没有什么价值。如果有些地方你不能确定,先避免使用Map,

C#中使用正则表达式验证电话号码、手机号、身份证号、数字和邮编

C#中使用正则表达式验证电话号码、手机号、身份证号、数字和邮编 2011-12-07 07:56 574人阅读评论(0) 收藏举报正则表达式电话手机c#string 验证电话号码的主要代码如下: public bool IsTelephone(string str_telephone) { return System.Text.RegularExpressions.Regex.IsMatch(str_telephone, @"^(\d{3,4}-)?\d{6,8}$"); } 验证手机号码的主要代码如下: public bool IsHandset(string str_handset) { return System.Text.RegularExpressions.Regex.IsMatch(str_handset, @"^[1]+[3,5]+\d{9}"); } 验证身份证号的主要代码如下: public bool IsIDcard(string str_idcard) { return System.Text.RegularExpressions.Regex.IsMatch(str_idcard, @"(^\d{18}$)|(^\d{15}$)"); }

验证输入为数字的主要代码如下: public bool IsNumber(string str_number) { return System.Text.RegularExpressions.Regex.IsMatch(str_number, @"^[0-9]*$"); } 验证邮编的主要代码如下: public bool IsPostalcode(string str_postalcode) { return System.Text.RegularExpressions.Regex.IsMatch(str_postalcode, @"^\d{6}$"); }

相关文档
最新文档