正則表達式完成號碼驗證, ^以某開頭,[] 字元集(匹配中括弧裡面的任意字元),\d是任意一個數字,{n}表示出現了多少次,$結尾 手機號的正則 ^1[34568]\d{9}$,以1開頭,第二個數字是34568,剩下九個都是數字,數字結尾 調用String對象的match()方法,參數:正則(裡面的 ...
正則表達式完成號碼驗證,
^以某開頭,[] 字元集(匹配中括弧裡面的任意字元),\d是任意一個數字,{n}表示出現了多少次,$結尾
手機號的正則 ^1[34568]\d{9}$,以1開頭,第二個數字是34568,剩下九個都是數字,數字結尾
調用String對象的match()方法,參數:正則(裡面的斜杠\需要轉義)
if (phone.matches("^1[34568]\\d{9}$")) { SQLiteDatabase db = SQLiteDatabase.openDatabase(path, null, SQLiteDatabase.OPEN_READONLY); Cursor cursor = db .rawQuery( "select location from data2 where id=(select outkey from data1 where id=?)", new String[] { phone.substring(0, 7) }); while (cursor.moveToNext()) { String address = cursor.getString(0); return address; } cursor.close(); }
文本輸入直接查詢
調用EditText對象的addTextChangedListener()方法,添加監聽器,參數:TextWatcher對象
匿名內部類實現TextWatcher介面,重寫onTextChanged方法,傳遞進來CharSequence對象
查詢資料庫,並展示出結果
//自動完成 et_phone.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int arg1, int arg2, int arg3) { phone = et_phone.getText().toString().trim(); String result = NumberQueryAddressUtil.queryAddress(phone); tv_address.setText(result); } @Override public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { // TODO Auto-generated method stub } @Override public void afterTextChanged(Editable arg0) { // TODO Auto-generated method stub } });