Results 1 to 3 of 3

Thread: Splitting and Checking for a character RESOLVED

  1. #1

    Thread Starter
    Hyperactive Member
    Join Date
    Feb 2005
    Posts
    300

    Resolved Splitting and Checking for a character RESOLVED

    Ok, a coursemate of mine is trying to do the following.

    He has an input box where the user types their surname.

    But if the user types their surname as

    O'hara or Smith-taylor

    then he needs to correct it, so its becomes O'Hara and Smith-Taylor.

    so if the name contains a "-" or a " ' " then it needs to split it at that point and make the next character a Capital.

    the code he has so far is

    Code:
    if (!nameSplit[0].match(lnameCheck) || !nameSplit[1].match(lnameCheck)) {
    alert("Correct lname format is: Smith OR Oh-Hara")
    document.forms[0].submit.disabled = true
    document.forms[0].lname.focus()
    return false
    }
    and he said has to be something with

    Code:
    onblur="function"
    hope this is clear as i know nothing bout JavaScript my mate has no internet access at the moment.
    Last edited by Ricky1; Feb 10th, 2006 at 12:27 PM.
    Im Learning !!!!

  2. #2
    I'm about to be a PowerPoster!
    Join Date
    Jan 2005
    Location
    Everywhere
    Posts
    13,647

    Re: Splitting and Checking for a character

    If "match" is the string containing the surname
    Code:
    if (!name.match(/([A-Z][a-z]*)/) ||
        !name.match(/([A-Z][a-z]*)\-([A-Z][a-z]*)/) ||
        !name.match(/([A-Z][a-z]*)'([A-Z][a-z]*)/))
    {
        alert('Your surname may be incorrectly capitalised, check the capitalisation')
    }
    Or similar.

  3. #3
    Fanatic Member aconybeare's Avatar
    Join Date
    Oct 2001
    Location
    UK
    Posts
    772

    Re: Splitting and Checking for a character

    Try this when the textbox loses focus the propercase function is called -

    Code:
    <html>
    <head>
    <title></title>
    <script type="text/javascript">
    
    Function ProperCase(obj){
    	var strReturn_Value="";
    	var sStr=obj.value;
    	var iTemp=sStr.length;
    	if(iTemp!=0){
    		var UcaseNext=false;
    		strReturn_Value += sStr.charAt(0).toUpperCase();
    		alert(strReturn_Value);
    		for(var iCounter=1;iCounter < iTemp;iCounter++){
    			if(UcaseNext == True){
    				strReturn_Value += sStr.charAt(iCounter).toUpperCase();
    			}else{
    				strReturn_Value += sStr.charAt(iCounter).toLowerCase();
    			}
    			var iChar=sStr.charCodeAt(iCounter);
    			if(iChar == 32 || iChar == 45 || iChar == 46 || iChar == 13 || iChar == 10){
    				UcaseNext=true;
    			}else{
    				UcaseNext=false;
    			}
    			if(iChar == 99 || iChar == 67){
    				if(sStr.charCodeAt(iCounter-1)==77 || sStr.charCodeAt(iCounter-1)==109){
    					UcaseNext=true;
    				}
    			}
    			if(iChar == 39){
    				if(iCounter >= 1){
    					if(strReturn_Value.charCodeAt(iCounter-1) == 79){
    						UcaseNext = true;
    					}
    				}
    			}
    		}
    		obj.value=strReturn_Value;
    	}else{
    		obj.value=sStr;
    	}
    }
    
    
    </script>
    </head>
    <body>
    <form name="myFrm" id="myFrm">
    <input type="text" id="txtname" name="txtname" value="harris-jones" onblur="ProperCase(this);">
    
    </form>
    </body>
    </html>

Posting Permissions

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



Click Here to Expand Forum to Full Width