• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1138
  • 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

Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

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