User Agents
You can a handset's user agent to determine the carrier.
docomo
Matching Regular Expression: /docomo/i
Includes either the string DOCOMO or DoCoMo
au
Matching Regular Expression: /^(?:KDDI|UP.Browser\/.+?)-(.+?) /
- All modern KDDI handsets include KDDI, although older handsets that just support hdml don't
External Reference: KDDI's specification
Example
KDDI-SA31 UP.Browser/6.2.0.7.3.129 (GUI) MMP/2.0
If the user agent includes KDDI, the browser has xhtml support, otherwise it just has hdml support. In the example, SA31 refers to the device id. Following that is the browser name, "UP.Browser" and version, "6.2.0.7.3.129". Note that some Vodafone phones use "UP.Browser".
SoftBank
Matching Regular Expression: /^(SoftBank|Vodafone)/
Note, there are some subtle differences between SoftBank, and Vodafone
WILLCOM
Matching Regular Expression: /WILLCOM/
E-MOBILE
Matching Regular Expression: /^emobile\/|^Mozilla\/5.0 \(H11T; like Gecko; OpenBrowser\) NetFront\/3.4$|^Mozilla\/4.0 \(compatible; MSIE 6.0; Windows CE; IEMobile 7.7\) S11HT$/
Smartphones
Although smartphones are sold by specific carriers in Japan, they have little in common with other handsets from the carrier.
iPhone
Matching Regular Expression: /Apple.*Mobile.*Safari/
This includes the iPhone, iPad, and iTouch.
Android
Matching Regular Expression: /Linux.*Mobile.*Safari/
There are several Android handsets on the Japanese market.
