|
|
#1 |
|
Hyperactive Member
Join Date: Feb 05
Posts: 300
![]() |
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
}
Code:
onblur="function"
__________________
Im Learning !!!!
Last edited by Ricky1; Feb 10th, 2006 at 12:27 PM. |
|
|
|
|
|
#2 |
|
Super Moderator
Join Date: Jan 05
Location: Sunny Adelaide
Posts: 12,532
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
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')
}
|
|
|
|
|
|
#3 |
|
Fanatic Member
Join Date: Oct 01
Location: UK
Posts: 738
![]() |
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>
|
|
|
|
![]() |
|
||||||
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | Search this Thread |
| Display Modes | |
|
|