import java.util.regex.Matcher;
import java.util.regex.Pattern;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class myAndroid extends Activity {
private Button myButton;
private EditText myEditText;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
myEditText=(EditText)findViewById(R.id.myEditText);
myButton=(Button)findViewById(R.id.myButton);
myButton.setOnClickListener(new Button.OnClickListener(){
public void onClick(View v) {
// TODO Auto-generated method stub
try {
String num=myEditText.getText().toString();
if(isPhoneNumberValid(num)==true)
{
Intent myIntentDial=new Intent("android.intent.action.CALL",Uri.parse("tel:"+num));
startActivity(myIntentDial);
myEditText.setText("");
}else
{
myEditText.setText("");
Toast.makeText(myAndroid.this,"输入的电话格式不对",Toast.LENGTH_SHORT).show();
}
} catch (Exception e) {
// TODO: handle exception
}
}
private boolean isPhoneNumberValid(String phoneNumber) {
// TODO Auto-generated method stub
boolean idValid=false;
/* 可接受的电话格式有: * ^\\(? :
* 可以使用 "(" 作为开头 * ( \\d{3}): 紧接着三个数字 * \\)? :
* 可以使用")"接续 * [- ]? : 在上述格式后可以使用具选择性的 "-". * ( \\d{3}) :
* 再紧接着三个数字 * [- ]? : 可以使用具选择性的 "-" 接续. * ( \\d{4})$:
* 以四个数字结束. * 可以比对下列数字格式:
* * (123)456-7890, 123-456-7890, 1234567890, (123)-456-7890 */
String expression = "^\\(?( \\d{3})\\)?[- ]?( \\d{4})[- ]?( \\d{4})$";
String expression2 ="^\\(?( \\d{2})\\)?[- ]?( \\d{3})[- ]?( \\d{8})$";
CharSequence inputStr=phoneNumber;
/*创建Pattern*/
Pattern pattern=Pattern.compile(expression);
/*将Pattern以参数传入Matcher作Reqular expression*/
Matcher matcher=pattern.matcher(inputStr);
Pattern pattern2=Pattern.compile(expression2);
Matcher matcher2=pattern2.matcher(inputStr);
if(matcher.matches() || matcher2.matches())
{
idValid=true;
}
return idValid;
}});
}
}
在AndroidMainifesx.xml 配置权限否则运行时出错!!!