[转载]JS判断手机号是否正确(正则表达式)

JavaScript012

[转载]JS判断手机号是否正确(正则表达式),第1张

function checkMobile(){

var sMobile = document.mobileform.mobile.value

if(!(/^1[3|4|5|8][0-9]\d{4,8}$/.test(sMobile))){

alert("不是完整的11位手机号或者正确的手机号前七位")

document.mobileform.mobile.focus()

return false

}

}

根据国际电信联盟的规定,国际电话的拨打规则是:拨出地国际冠码+接受国家代码+区号+电话号码,用手机拨打的话,就不需要输入国际冠码了,因为可以用“+”替代。

中国的国际冠码是00、国家代码是86,美国分别是011和1。

思路:

1、js调用android的java代码

2、通过java代码访问通讯录

3、通过java代码访问js代码返回通讯录信息

代码:

1、js调用android的java代码

 js代码:

window.ncp.callOnJs2("click")

android代码,通过webview打开页面:

mWebview.getSettings().setJavaScriptEnabled(true) 

mWebView.addJavascriptInterface(new JavaScriptInterface(), "ncp")  

final class JavaScriptInterface {     

       public int callOnJs() {                            

          return 1000  

       }     

       public void callOnJs2(String mode) {  

         //TODO  

       }       

  }

2、通过java代码访问通讯录

/**得到手机通讯录联系人信息**/  

   private void getPhoneContacts() {  

ContentResolver resolver = mContext.getContentResolver()  

 

// 获取手机联系人  

Cursor phoneCursor = resolver.query(Phone.CONTENT_URI,PHONES_PROJECTION, null, null, null)  

 

 

if (phoneCursor != null) {  

    while (phoneCursor.moveToNext()) {  

 

    //得到手机号码  

    String phoneNumber = phoneCursor.getString(PHONES_NUMBER_INDEX)  

    //当手机号码为空的或者为空字段 跳过当前循环  

    if (TextUtils.isEmpty(phoneNumber))  

        continue  

      

    //得到联系人名称  

    String contactName = phoneCursor.getString(PHONES_DISPLAY_NAME_INDEX)  

      

    //得到联系人ID  

    Long contactid = phoneCursor.getLong(PHONES_CONTACT_ID_INDEX)  

 

    //得到联系人头像ID  

    Long photoid = phoneCursor.getLong(PHONES_PHOTO_ID_INDEX)  

      

    //得到联系人头像Bitamp  

    Bitmap contactPhoto = null  

 

    //photoid 大于0 表示联系人有头像 如果没有给此人设置头像则给他一个默认的  

    if(photoid > 0 ) {  

        Uri uri =ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI,contactid)  

        InputStream input = ContactsContract.Contacts.openContactPhotoInputStream(resolver, uri)  

        contactPhoto = BitmapFactory.decodeStream(input)  

    }else {  

        contactPhoto = BitmapFactory.decodeResource(getResources(), R.drawable.contact_photo)  

    }  

      

    mContactsName.add(contactName)  

    mContactsNumber.add(phoneNumber)  

    mContactsPhonto.add(contactPhoto)  

    }  

 

    phoneCursor.close()  

}

3、通过java代码访问js代码返回通讯录信息

mWebView.loadUrl("javascript:onSaveCallback()")

1、首先首先,在网页中定义函数judgehandt,用于判断手机号格式是否正确,定义一个变量phone,用来保存网页中输入的手机号码。

2、用if语句判断输入的手机号码值,条件为输入的值是否为默认值号码。

3、如果条件成立,则输出您的手机号为空,提示输入手机号。

4、使用return方法,退出语句体。

5、接着,判断输入的手机号是否全是数字,与官方的手机号格式是否一致,如下图所示就完成了。