Hello and welcome to our community! Is this your first visit?
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 3 of 3
  1. #1
    New Coder
    Join Date
    Nov 2010
    Thanked 0 Times in 0 Posts

    Detect if URL has anchor tag attached

    Hey guys,

    I'm currently using the following piece of script to add an anchor tag to URL's when they are fed into a page dynamically

    jQuery.fn.mailto = function () {
      return this.each( function() {
        var re = /(\b(https?|ftp):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gim;
        $(this).html( $(this).html().replace( re, '<a href="$1" target="_blank">$1</a>' ) );
        var re = /(([a-z0-9*._+]){1,}\@(([a-z0-9]+[\-]?){1,}[a-z0-9]+\.){1,}([a-z]{2,4}|museum)(?![\w\s?&.\/;#~%"=\-]*>))/g;
        $(this).html( $(this).html().replace( re, '<a href="mailto:$1">$1</a>' ) );
        var re = /(^|[^\/])(www\.[\S]+(\b|$))/gim;
        $(this).html( $(this).html().replace( re, '$1<a href="http://$2" target="_blank">$2</a>' ) );
    This works fine, BUT the problem I'm having is that some links that are being fed into the page are already active (have the anchor tag already attached to them). This code then adds another anchor tag, which causes problems on the page.

    I'm looking for some help in modifying this code to detect that if a URL already has anchor tag then leave it alone, but if it doesn't then add it on so it becomes clickable.

    I think this should be quite simple with the use of an if statement but I can't get my head around it.

    Any help is really appreciated!

  2. #2
    Regular Coder
    Join Date
    Apr 2012
    St. Louis, MO
    Thanked 101 Times in 101 Posts
    thisURL = document.URL;
    if(thisURL.indexOf("#") != -1){ // hash tag detected in URL
    do stuff

    If anyone knows of a website that can offer ColdFusion help that isn't controlled by neurotic, pedantic jerks* (stackoverflow.com), please PM me with a link.
    The neurotic, pedantic jerks are not the owners; just the people who are in control of the "popularity contest".

  3. #3
    Master Coder felgall's Avatar
    Join Date
    Sep 2005
    Sydney, Australia
    Thanked 932 Times in 919 Posts
    The easiest way to test whether that part of the URL already has a value or simply to change it regardless of what value it had before is using location.hash
    Learn Modern JavaScript - http://javascriptexample.net/
    Helping others to solve their computer problem at http://www.felgall.com/

    Don't forget to start your JavaScript code with "use strict"; which makes it easier to find errors in your code.


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts