不一定,因为每个人的身份证号是终身不变的。即使外地人将户口迁至上海,他们的身份证号也会保持原有的号码。当然,如果一个人的户籍最初就在上海,那么他的身份证号自然以31开头。具体来说,上海的各个行政区对应的身份证前六位分别是:310101代表黄浦区,310103代表卢湾区,310104代表徐汇区,310105代表长宁区,310106代表静安区,310107代表普陀区,310108代表闸北区,310109代表虹口区,310110代表杨浦区,310112代表闵行区,310113代表宝山区,310114代表嘉定区,310115代表浦东新区,310116代表金山区,310117代表松江区,310118代表青浦区,310119代表南汇区,310120代表奉贤区,310230代表崇明县。这些编号规则是由上海市公安局根据国家统一的身份证编号标准制定的,确保每位市民的个人信息准确无误。因此,尽管上海的身份证号码开头可能是31,但这并不是所有在上海生活的居民都具有的特征。值得注意的是,随着上海市区的不断扩展和行政区划的调整,一些区的名字和编号可能已经发生变化,例如卢湾区已并入徐汇区。因此,在查询特定区域的身份证编号时,应当参考最新的行政区划信息。总的来说,上海居民的身份证号并不一定都以31开头,这取决于个人户籍的历史。而上海的身份证前六位号码则依据不同的区域划分,提供核锋了明确的地理标识。