android 入门学习笔记 正则匹配 电话号码 email

下文中的{1}quot;; 原文是$";被这里的博客给转了。。。copy代码的朋友要注意替换一下/*检查字符串是否为电话号码的方法,并返回true or false的判断值*/ public static boolean isPhoneNumberValid(String phoneNumber) { boolean isValid = false; /* 可接受的电话格式有: * ^\\(? : 可以使用 "(" 作为开头 * (\\d{3}): 紧接着三个数字 * \\)? : 可以使用")"接续 * [- ]? : 在上述格式后可以使用具选择性的 "-". * (\\d{4}) : 再紧接着三个数字 * [- ]? : 可以使用具选择性的 "-" 接续. * (\\d{4})$: 以四个数字结束. * 可以比较下列数字格式: * (123)456-78900, 123-4560-7890, 12345678900, (123)-4560-7890 */ String expression = "^\\(?(\\d{3})\\)?[- ]?(\\d{3})[- ]?(\\d{5}){1}quot;; String expression2 ="^\\(?(\\d{3})\\)?[- ]?(\\d{4})[- ]?(\\d{4}){1}quot;; CharSequence inputStr = phoneNumber; /*创建Pattern*/ Pattern pattern = Pattern.compile(expression); /*将Pattern 以参数传入Matcher作Regular expression*/ Matcher matcher = pattern.matcher(inputStr); /*创建Pattern2*/ Pattern pattern2 =Pattern.compile(expression2); /*将Pattern2 以参数传入Matcher2作Regular expression*/ Matcher matcher2= pattern2.matcher(inputStr); if(matcher.matches()||matcher2.matches()) { isValid = true; } return isValid; }

 

需要引入

import java.util.regex.Matcher; import java.util.regex.Pattern;

下面是拨打电话的code,这里涉及到上文所提到的intent机制,另外一点就是掌握Toast(信息提示)的使用语法

/*设置Button对象的OnClickListener来聆听OnClick事件*/ mButton1.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View v) { try { /*取得EditText中用户输入的字符串*/ String strInput = mEditText1.getText().toString(); if (isPhoneNumberValid(strInput)==true) { /*建构一个新的Intent 运行action.CALL的常数与通过Uri将字符串带入*/ Intent myIntentDial = new Intent ( "android.intent.action.CALL", Uri.parse("tel:"+strInput) ); /*在startActivity()方法中 带入自定义的Intent对象以运行拨打电话的工作 */ startActivity(myIntentDial); mEditText1.setText(""); } else { mEditText1.setText(""); Toast.makeText( EX05_02.this, "输入的电话格式不符", Toast.LENGTH_LONG).show(); } } catch(Exception e) { e.printStackTrace(); } } });


发短信的code 需要引入

import android.telephony.gsm.SmsManager; import android.app.PendingIntent;//引入它才能进行 getBrocast() /*建构一取得default instance的 SmsManager对象 */ SmsManager smsManager = SmsManager.getDefault(); // TODO Auto-generated method stub /*检查收件人电话格式与短信字数是否超过70字符*/ if(isPhoneNumberValid(strDestAddress)==true && iswithin70(strMessage)==true) { try { /* * 两个条件都检查通过的情况下,发送短信 * 先建构一PendingIntent对象并使用getBroadcast()广播 * 将PendingIntent,电话,短信文字等参数 * 传入sendTextMessage()方法发送短信 */ PendingIntent mPI = PendingIntent.getBroadcast (EX05_03.this, 0, new Intent(), 0); smsManager.sendTextMessage (strDestAddress, null, strMessage, mPI, null); } catch(Exception e) { e.printStackTrace(); } Toast.makeText ( EX05_03.this,"送出成功!!" , Toast.LENGTH_SHORT ).show(); mEditText1.setText(""); mEditText2.setText(""); }


发email的code 需要引入

import android.content.Intent;


 

mButton01.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub /*自定义一Intent来运行寄送E-mail的工作*/ Intent mEmailIntent = new Intent(android.content.Intent.ACTION_SEND); /*设置邮件格式为"plain/text"*/ mEmailIntent.setType("plain/text"); /** 取得EditText01,02,03,04的值作为 * 收件人地址,附件,主题,正文 */ strEmailReciver = new String[]{mEditText01.getText().toString()}; strEmailCc = new String[]{mEditText02.getText().toString()}; strEmailSubject = mEditText03.getText().toString(); strEmailBody = mEditText04.getText().toString(); /*将取得的字符串放入mEmailIntent中*/ mEmailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, strEmailReciver); mEmailIntent.putExtra(android.content.Intent.EXTRA_CC, strEmailCc); mEmailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, strEmailSubject); mEmailIntent.putExtra(android.content.Intent.EXTRA_TEXT, strEmailBody); startActivity(Intent.createChooser(mEmailIntent, getResources().getString(R.string.str_message))); } });

正则验证email地址

String strPattern = "^[a-zA-Z][\\w\\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]\\.[a-zA-Z][a-zA-Z\\.]*[a-zA-Z]{1}quot;; Pattern p = Pattern.compile(strPattern); Matcher m = p.matcher(strEmail); return m.matches();


内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/380ac4490f31f56a079bc470c62ff42d.html