查询IP地址: select 地区 from ip表 where 用户ip>起始IP and 用户ip<结束ip
通过这条sql语句就可以查询出用户ip所对应的地区结果。由于用户ip与起始ip和结束ip的比较属于字符串比较,如果用户ip为9.1.1.1,那么它与61.54.231.245比较的结果就是前者大于后者,因为用户ip的第一个字符“9”大于61.54.231.245中的第一个字符“6”。
我们该怎样让它返回正确的结果。思路是 将9.1.1.1变化成009.001.001.001后与061.054.231.245进行比较就可以了,可以用正则表达式的方法来解决。
那么该怎样解决呢? 请高手快来啊。焦急等待中~~~~~~~~~
通过这条sql语句就可以查询出用户ip所对应的地区结果。由于用户ip与起始ip和结束ip的比较属于字符串比较,如果用户ip为9.1.1.1,那么它与61.54.231.245比较的结果就是前者大于后者,因为用户ip的第一个字符“9”大于61.54.231.245中的第一个字符“6”。
我们该怎样让它返回正确的结果。思路是 将9.1.1.1变化成009.001.001.001后与061.054.231.245进行比较就可以了,可以用正则表达式的方法来解决。
那么该怎样解决呢? 请高手快来啊。焦急等待中~~~~~~~~~
<script>
var str="11.1.111.11";
str=str.replace(/(^|\.)(\d)(\.|$)/g,"$100$2$3");
str=str.replace(/(^|\.)(\d)(\.|$)/g,"$100$2$3");
str=str.replace(/(^|\.)(\d{2})(\.|$)/g,"$10$2$3");
str=str.replace(/(^|\.)(\d{2})(\.|$)/g,"$10$2$3");
alert(str);
</script>Java版本:
String str="11.1.111.11";
str=str.replaceAll("(^|\\.)(\\d)(\\.|$)","$100$2$3");
str=str.replaceAll("(^|\\.)(\\d)(\\.|$)","$100$2$3");
str=str.replaceAll("(^|\\.)(\\d{2})(\\.|$)","$10$2$3");
str=str.replaceAll("(^|\\.)(\\d{2})(\\.|$)","$10$2$3");
System.out.println(str);
<script>
var str="11.1.111.11";
str=str.replace(/(\d)(\.|$)/g,"00$1$2");
str=str.replace(/(\d{2})(\.|$)/g,"0$1$2");
alert(str);
</script>Java版本:
String str="11.1.111.11";
str=str.replaceAll("(\\d)(\\.|$)","00$1$2");
str=str.replaceAll("(\\d{2})(\\.|$)","0$1$2");
System.out.println(str);
lip009把你的QQ号告诉我啊,以后不懂的问题直接问你得了