Skip to main content
Inspiring
October 13, 2010
Question

detect blackberry os version

  • October 13, 2010
  • 2 replies
  • 1839 views

Does somebody know the code to detect the Blackberry version with coldfusion?

First, i have code to detect if its a blackberry :

<cfif findNoCase('BlackBerry', CGI.HTTP_USER_AGENT)>

And if its a blackberry i need to detect the version of the OS because our mobile site only support version 4.5.0.127 and up.  If the version is under that i have to redirect the user to another page to tell him that his OS version is not supported, they have to update there OS before using our mobile site.

Please HELP!!!

This topic has been closed for replies.

2 replies

Inspiring
October 14, 2010

Here is what i finaly use.. quite simple........

<cfset a = '#mid(CGI.http_user_agent,16,3)#'>

<cfif #a# LTE 4.5>

Not supported

</cfif>

Forget about regular expression and don't drink and drive..............

Inspiring
October 13, 2010

With JSP the code look like this and its working fine but i can't use JSP because our server do not support it.

if (request.getHeader("user-agent").matches("^BlackBerry[0-9]{0,6}.*") && !request.getHeader("user-agent").matches("^BlackBerry[0-9]{0,6}/(4\\.(5\\.(0\\.(1(2[7-9]|[3-9]{1}\\d{1})|[2-9]{1}\\d{2}){1}|[1-9]){1}|[6-9]|1[0-9]){1}|[5-9]|1[0-9]){1}.*") ) {

I can use javascript, but i go some syntax error :

<script language=javascript>
<!--
if((navigator.userAgent.match(/blackberry/i)) && !request.getHeader("user-agent").matches("^BlackBerry[0-9]{0,6}/(4\\.(5\\.(0\\.(1(2[7-9]|[3-9]{1}\\d{1})|[2-9]{1}\\d{2}){1}|[1-9]){1}|[6-9]|1[0-9]){1}|[5-9]|1[0-9]){1}.*") ) )

{
location.href='notcompatible.cfm';
}
-->
</script>

I would prefer to use coldfusion if possible because its our main language.

Thanks in advance for any help you can give to me

Inspiring
October 13, 2010

You might want to read this lot, detailing how CF implemented regexes, and which functions to use:

http://help.adobe.com/en_US/ColdFusion/9.0/Developing/WSc3ff6d0ea77859461172e0811cbec22c24-7a49.html

--

Adam

Inspiring
October 13, 2010

I already take a look at regular expression but I don't know how to code it to detect blackberry version....... do you know???

My CF code to detect if its a mobile looks like this, but how to detect the version of the BB oucccchhh :

cfif reFindNoCase("android|avantgo|blackberry|blazer|elaine|hiptop|ip(hone|od)|kindle|midp|mmp|mobile|o2|opera mini|palm( os)?|pda|plucker|pocket|psp|smartphone|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce; (iemobile|ppc)|xiino",CGI.HTTP_USER_AGENT) GT 0 OR reFindNoCase("1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|e\-|e\/|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|xda(\-|2|g)|yas\-|your|zeto|zte\-",Left(CGI.HTTP_USER_AGENT,4)) GT 0>