Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1137
  • Last Modified:

first character in a string

hi,
how do i find in javascript whether the first character in a string is a number,alphabet,or a special character?
0
jiniasp
Asked:
jiniasp
  • 2
1 Solution
 
RoonaanCommented:
if(mystring.match(/^[a-z]/i)) {
  //alpha
} else if(mystring.match(/^\d/i)) {
  //numeric
} else {
  //other
}

-r-
0
 
jiniaspAuthor Commented:
Thanks Roonaan ur code worked.
If u don't mind, could u please explain the code above.
Can isNaN(x) function be used to find whether first character is number or not?
0
 
RoonaanCommented:
You can use isNaN(mystring.substring(0,1))

As to the above code. It uses regular expression:
/^[a-z]/i can be explained as:

^ - start of string
[a-z] - a single a-z character
/i - case insensitive search

\d is shorthand for [0-9], resulting in searching for a number at the start of a string: ^\d

-r-
0
 
MrHorizontalCommented:
Put these special prototype functions anywhere in your javascript:

      String.prototype.IsAlpha= function()
      {
            return (this.match(/[A-Za-z]/g) ? true : false);
      }

      String.prototype.IsNumeric= function()
      {
            return (this.match(/[0-9]/g) ? true : false);
      }

      String.prototype.IsSpecial= function()
      {
            return (this.match(/[^A-Za-z0-9]/g) ? true : false);
      }

These mean that when you have a string or a number variable, you can simply call stringvar.IsAlpha() stringvar.IsSpecial() or stringvar.IsNumeric() which return true or false accordingly.

with your string, since you want the first character only do the following:

      var mystring = '0123AbCdEfG£$%^&';

      var isNumeric = (mystring+'').charAt(0).IsNumeric(); // check for number
      var isAlpha = (mystring+'').charAt(0).IsAlpha(); // check for alpha
      var isSpecial = (mystring+'').charAt(0).IsSpecial(); // check for alpha
      var isAlphaNumeric = (mystring+'').charAt(0).IsAlpha() || (mystring+'').charAt(0).IsNumeric(); // check for alpha

the only ones that will be true will be isNumeric and isAlphaNumeric, the others should be false.

you can also derive isSpecial by doing

      var isSpecial = !(mystring+'').charAt(0).IsAlpha() && !(mystring+'').charAt(0).IsNumeric();

Similarly, like Roonaan's layout, you can use the statements in an if or switch statement:

      if ((mystring+'').charAt(0).IsNumeric())
      {
            // numeric
      }
      else if ((mystring+'').charAt(0).IsAlpha())
      {
            // alpha
      }

Because these are prototypes of the base String object, this means you can use these as methods for *any* string, whether they are a variable, in an array or wherever.

In case you're wondering, I'm forcing (mystring+'') in the example above to force the variable into a string and test it, without changing the basic variable. If you try doing it with a number and you call the method, you'll get an exception.
0

Featured Post

Important Lessons on Recovering from Petya

In their most recent webinar, Skyport Systems explores ways to isolate and protect critical databases to keep the core of your company safe from harm.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now