验证是否为合法邮箱地址验证是否为合法手机号码

来源:互联网 发布:卡盟主站源码 编辑:程序博客网 时间:2024/04/30 11:21
/**  * 验证是否为合法邮箱地址  * @param address 邮箱地址  * @return 是否合法  */ public static final boolean isEMailAddress(String address){  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]$";      Pattern pattern = Pattern.compile(strPattern,Pattern.CASE_INSENSITIVE);      Matcher matcher = pattern.matcher(address);      return matcher.matches();     }
/**  * 判别手机是否为正确手机号码; *号码段分配如下: *移动:134、135、136、137、138、139、150、151、157(TD)、158、159、187、188  *联通:130、131、132、152、155、156、185、186  *电信:133、153、180、189、(1349卫通)  */ public static boolean isMobileNum(String mobiles) {  Pattern p = Pattern    .compile("^((13[0-9])|(15[^4,//D])|(18[0,5-9]))//d{8}$");  Matcher m = p.matcher(mobiles);    return m.matches();

另一种判断手机号码是否合法的方法:
 
package com.my;import java.util.Timer;import java.util.TimerTask;import java.util.regex.Matcher;import java.util.regex.Pattern;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.text.Editable;import android.text.TextWatcher;import android.util.Log;import android.view.inputmethod.InputMethodManager;import android.widget.Button;import android.widget.EditText;public class LoginCheckActivity extends Activity{private Button checkNextButton = null;private Button checkCancelButton = null;private EditText phoneEditText = null;private TextWatcher phoneTextWatcher;private String phoneNumber = null;private InputMethodManager imm;@Overrideprotected void onCreate(Bundle savedInstanceState){// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.login_check);initView();}private void initView(){// TODO Auto-generated method stubcheckNextButton = (Button) findViewById(R.id.button_check_next);checkCancelButton = (Button) findViewById(R.id.button_check_cancel);phoneEditText = (EditText) findViewById(R.id.login_check_edittext);checkNextButton.setEnabled(false);//设置按钮为不可按/** * 监听输入的手机号码是否正确 */phoneTextWatcher = new TextWatcher(){@Overridepublic void afterTextChanged(Editable s){// TODO Auto-generated method stub}@Overridepublic void beforeTextChanged(CharSequence s, int start, int count,int after){// TODO Auto-generated method stub}@Overridepublic void onTextChanged(CharSequence s, int start, int before,int count){// TODO Auto-generated method stubphoneNumber = phoneEditText.getText().toString();if (isPhoneNumberValid(phoneNumber) == true){checkNextButton.setEnabled(true);Log.e("@@@", "ture");}else{checkNextButton.setEnabled(false);Log.e("@@@", "false");}}};phoneEditText.addTextChangedListener(phoneTextWatcher);}/** * 检查字符串是否为电话号码的方法,并返回true or false的判断值 */public static boolean isPhoneNumberValid(String phoneNumber){boolean isValid = false;/** 可接受的电话格式有: * ^//(? : 可以使用 "(" 作为开头 * (//d{3}): 紧接着三个数字 * //)? : 可以使用")"接续 * [- ]? : 在上述格式后可以使用具选择性的 "-". * (//d{3}) : 再紧接着三个数字 * [- ]? : 可以使用具选择性的 "-" 接续. * (//d{5})$: 以五个数字结束. * 可以比较下列数字格式: * (123)456-7890, 123-456-7890, 1234567890, (123)-456-7890   */String expression = "^//(?(//d{3})//)?[- ]?(//d{3})[- ]?(//d{5})$";/** 可接受的电话格式有: * ^//(? : 可以使用 "(" 作为开头 * (//d{3}): 紧接着三个数字 * //)? : 可以使用")"接续 * [- ]? : 在上述格式后可以使用具选择性的 "-". * (//d{4}) : 再紧接着四个数字 * [- ]? : 可以使用具选择性的 "-" 接续. * (//d{4})$: 以四个数字结束. * 可以比较下列数字格式: * (02)3456-7890, 02-3456-7890, 0234567890, (02)-3456-7890   */String expression2 = "^//(?(//d{3})//)?[- ]?(//d{4})[- ]?(//d{4})$";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;}@Overrideprotected void onResume(){// TODO Auto-generated method stubsuper.onResume();Timer timer = new Timer();timer.schedule(new TimerTask(){@Overridepublic void run(){imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);imm.showSoftInput(phoneEditText, 0);}}, 1000);}}

	
				
		
原创粉丝点击