To save me re-inventing the wheel, does anyone have a function to
capitalise each word in form data? I was thinking along the lines of
capitalise the first letter of the string, then any other letter after a
space or hyphen.
So many users seem to think that just because they are online they can
use names like "mr john smith" and so I have to manually change them.
--
Nige
Please replace YYYY with the current year
ille quis mortem cum maximus ludos, vincat
Jul 20 '05
13 6374
Fox wrote on 11 nov 2003 in comp.lang.javas cript: String.prototyp e.ucwords = function(){ return this.replace(/\b\w/gi, function(c,i,s) { return c.toUpperCase() ; }); }
String.prototyp e.ucwords = function(){
return this.toLowerCas e().replace(/\b\S/g, function(x) { return
x.toUpperCase() ; });
}
The rest has to be lowercase, IMHO.
I do not think the i in /gi is necessary.
Why replace the whole word?
Please explain for us mortals what the (c,i,s) does !
--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)
"Evertjan." <ex************ **@interxnl.net > writes: Fox wrote on 11 nov 2003 in comp.lang.javas cript:
String.prototyp e.ucwords = function(){ return this.replace(/\b\w/gi, function(c,i,s) { return c.toUpperCase() ; }); }
String.prototyp e.ucwords = function(){ return this.toLowerCas e().replace(/\b\S/g, function(x) { return x.toUpperCase() ; }); }
Your version would uppercase[1] any non-space letter after a word
boundary. The previous version uppercased all word characters after
a word boundary. Since word characters includes all letters, and only
letters can be meaninfully uppercased, there isn't any significant difference.
The rest has to be lowercase, IMHO.
What rest? Your RegExp matches more characters than the previous one.
I do not think the i in /gi is necessary.
Correct, \w matches both upper- and lowercase letters already.
Why replace the whole word?
It doesn't, it only replaces one character at a time. The \w code
matches *one* word character, not an entire word.
Please explain for us mortals what the (c,i,s) does !
From ECMA-262 section 15.5.4.11:
---
If /replaceValue/ is a function, then for each matched substring, call
the function with the following m + 3 arguments. Argument 1 is the
substring that matched. If /searchValue/ is a regular expression, the
next m arguments are all of the captures in the /MatchResult/ (see
15.10.2.1). Argument m + 2 is the offset within /string/ where the
match occurred, and argument m +3 is /string/. The result is a string
value derived from the original input by replacing each matched
substring with the corresponding return value of the function call,
converted to a string if need be.
---
I.e.,
c is the current match
and since the regExp doesn't contain capturing parentheses (m==0),
i is the offset of the match in the original string, and
s is the original string.
/L
--
Lasse Reichstein Nielsen - lr*@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleD OM.html>
'Faith without judgement merely degrades the spirit divine.'
Lasse Reichstein Nielsen wrote on 11 nov 2003 in comp.lang.javas cript: It doesn't, it only replaces one character at a time. The \w code matches *one* word character, not an entire word.
Rereading the specs ....., Yes, true. Please explain for us mortals what the (c,i,s) does !
From ECMA-262 section 15.5.4.11: --- If /replaceValue/ is a function, then for each matched substring, call the function with the following m + 3 arguments. Argument 1 is the substring that matched. If /searchValue/ is a regular expression, the next m arguments are all of the captures in the /MatchResult/ (see 15.10.2.1). Argument m + 2 is the offset within /string/ where the match occurred, and argument m +3 is /string/. The result is a string value derived from the original input by replacing each matched substring with the corresponding return value of the function call, converted to a string if need be. --- I.e., c is the current match and since the regExp doesn't contain capturing parentheses (m==0), i is the offset of the match in the original string, and s is the original string.
That is all new to me, very usefull.
Quick try:
s = "a b c d e f".replace(/\w/g, function(c,i,s)
{ return "<"+c+"="+i+ "+"+s+"<br> "});
document.write( s);
Nice.
Do you realy have to specify any not used arguments in function(c,i,s) ?
--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)
"Evertjan." <ex************ **@interxnl.net > writes: Do you realy have to specify any not used arguments in function(c,i,s) ?
No. Javascript functions generally don't have a fixed arity - you can
pass any number of arguments to any function. The formal parameter
names only give you names to refer more easily to the actual arguments.
So, you can use
function(c) { ... }
or even
function() {
var c = arguments[0];
...
}
/L
--
Lasse Reichstein Nielsen - lr*@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleD OM.html>
'Faith without judgement merely degrades the spirit divine.' This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics |
by: Derek Rhodes |
last post by:
using
Python 2.3.4 (#53, May 25 2004, 21:17:02) on
win32
OK, I have a recursive function that should return a list, but doesn't
<start session>
def test(word):
if type(word) == str:
|
by: Nige |
last post by:
Repost - as some readers took got sidetracked.
To save me re-inventing the wheel, does anyone have a function to
capitalise each word in form data? I was thinking along the lines of
capitalise the first letter of the string, then any other letter after a
space or hyphen.
So many users seem to think that just because they are online they can
use addresses like "8 brown road, chatham, kent" and so I have to
manually change them.
|
by: John Aspinall |
last post by:
Hi,
Can someone please tell me how to capitalise all words in a string
that are seperated by spaces. The string is variable and not the same
every time hence I cant use the Ucase function as I wont know the
exact position of the start of each word.
Cheers....John
|
by: JKop |
last post by:
Take the following simple function:
unsigned long Plus5Percent(unsigned long input)
{
return ( input + input / 20 );
}
Do yous ever consider the possibly more efficent:
|
by: Christine |
last post by:
I am having the strangest problem. I use the Date function in several
of my forms and modules in an Access 2000 mdb. Lately, wherever in my
code (in this one mdb) I use the Date function, it changes to date
(lower case vs proper case). I can fix this very temporarily by
reconstructing the database (importing all objects to a new mdb) or
using the decomplie option to open it. But in either case, once I
compile it reverts back to lower case....
| |
by: Ryan Muller |
last post by:
My company just upgraded from Access 97 to Access 2003 today and we are
having some issues in a database that generates a Word document from
information selected in a form.
Here is the code we were using without issue previous to the switch:
'Start Word and create a new doc from the template
Set objWord = CreateObject("Word.Basic")
objWord.AppMaximize "Microsoft Word", 1
objWord.FileNew Template:=StrTemplPath & "letter.dot"
|
by: serkan |
last post by:
Guys,
I am trying to get this password reset functionality wor for me but I am not successful at all. Please somebody help me. I get "Your password could not be reset - please try again later" so I think the get_random_word function is not working right. Here are the scripts:
This is the script after the user enters his/her userid.
<?php
require_once("bookmark_fns.php");
// creating short variable name
$username = $_POST;
|
by: Russell |
last post by:
Hey,
ok i have numerous tables to search through for a 'site search'.
some of the searchble fields have html embeded within so after some quick
referencing, saw I can use the regExp function to strip out all the HTML
leaving only the raw text.
(done and works a treat)
My issue is:
|
by: hanseymoon |
last post by:
Dear newsgroup:
I've got this long function, which works good overall to spell check
words from a dictionary and I am not in a position to replace it. Can
someone please see where or how it might be chopping up words like:
don't. It brings them back as: 't, chopping off the "don" before the
apostrophe. I've looked over the whole situation and ran many $string
tests....and it appears to be narrowed it down to this. I may be wrong
and...
|
by: Daniel T. |
last post by:
The function below does exactly what I want it to (there is a main to
test it as well.) However, I'm curious about ideas of making it better.
Anyone interested in critiquing it?
void formatText( const string& in, int charsPerLine, int lines,
vector< string >& out )
{
out.resize( 1 );
out = "";
int prev = 0;
|
by: marktang |
last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look !
Part I. Meaning of...
| |
by: Hystou |
last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it.
First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
|
by: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth.
The Art of Business Website Design
Your website is...
|
by: agi2029 |
last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own....
Now, this would greatly impact the work of software developers. The idea...
|
by: conductexam |
last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one.
At the time of converting from word file to html my equations which are in the word document file was convert into image.
Globals.ThisAddIn.Application.ActiveDocument.Select();...
|
by: TSSRALBI |
last post by:
Hello
I'm a network technician in training and I need your help.
I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs.
The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols.
I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
|
by: 6302768590 |
last post by:
Hai team
i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
| |
by: muto222 |
last post by:
How can i add a mobile payment intergratation into php mysql website.
|
by: bsmnconsultancy |
last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...
| |