www.webdeveloper.com
Results 1 to 15 of 15

Thread: English Only Check

  1. #1
    Join Date
    Feb 2004
    Posts
    1,345

    English Only Check

    Hi There.

    How can I make a check that will check for English letter only and also make sure that there's minimum of 4 letters and maximum of 8?

    Thanks a lot

  2. #2
    Join Date
    Nov 2002
    Location
    Dartmoor [Holiday]
    Posts
    2,382
    By "English letter only" I presume you mean A-Z or a-z, in which case you can use a regular expression like this:
    Code:
    var mystr = 'word';
    
    if (mystr.search(/^[A-Za-z]{4,8}$/) > -1){
      alert('Ok');
    } else {
      alert('No, sorry.');
    }
    Adam
    "If youíre not using valid HTML, then you havenít created a Web page. You may have created something else, but it isnít a Web page." - Joe Clark

    Do something amazing (USA) | Make Poverty History

  3. #3
    Join Date
    Feb 2004
    Posts
    1,345

    It doesn't seems to work...

    Here it is:

    <script type="text/javascript">
    function ccc()
    {
    if (document.dd.username.search(/^[A-Za-z]{4,8}$/) > -1)
    {
    alert('Ok');
    }
    else
    {
    alert('No, sorry.');
    }
    }
    </script>

    <form name="dd" action="#" onSubmit="return ccc();">
    <input type name="username">
    <input type="submit" value="Submit">
    </form>

    Why's that?

  4. #4
    Join Date
    Nov 2002
    Location
    Dartmoor [Holiday]
    Posts
    2,382
    Try document.dd.username.value.search

    Adam
    "If youíre not using valid HTML, then you havenít created a Web page. You may have created something else, but it isnít a Web page." - Joe Clark

    Do something amazing (USA) | Make Poverty History

  5. #5
    Join Date
    Feb 2004
    Posts
    1,345

    it's cool but...

    now I'm trying to do this:

    <script type="text/javascript">
    function ccc()
    {
    if (!document.dd.username.value.search (/^[A-Za-z]{4,8}$/) > -1)
    {
    alert('No, sorry.');
    document.dd.username.focus()
    return false;
    }
    }
    </script>

    But I can't get it work. it keeps giving me alert even if I'm doing the right thing.

    Thanks a lot man

  6. #6
    Join Date
    Nov 2002
    Location
    Dartmoor [Holiday]
    Posts
    2,382
    The not operator (!) has a higher precedence than the greater than operator (>) so it is evaluated first. You need to do this:

    if (!(document.dd.username.value.search (/^[A-Za-z]{4,8}$/) > -1))

    Adam
    "If youíre not using valid HTML, then you havenít created a Web page. You may have created something else, but it isnít a Web page." - Joe Clark

    Do something amazing (USA) | Make Poverty History

  7. #7
    Join Date
    Feb 2004
    Posts
    1,345

    Holy cow, it works just great. can I...

    ask you how can I add to the check that the user can also add the character "_"?

    Thanks a lot man!

  8. #8
    Join Date
    Nov 2002
    Location
    Dartmoor [Holiday]
    Posts
    2,382
    You can change [A-Za-z] into [A-Za-z_].

    No problem.

    Adam
    "If youíre not using valid HTML, then you havenít created a Web page. You may have created something else, but it isnít a Web page." - Joe Clark

    Do something amazing (USA) | Make Poverty History

  9. #9
    Join Date
    Feb 2004
    Posts
    1,345

    Oh Cool - Thanks. is it...

    possible to ask you one more thing that don't relate to that thread but it's still in JavaScript (it's supposed to be simple)?

  10. #10
    Join Date
    Nov 2002
    Location
    Dartmoor [Holiday]
    Posts
    2,382
    I guess so.

    Adam
    "If youíre not using valid HTML, then you havenít created a Web page. You may have created something else, but it isnít a Web page." - Joe Clark

    Do something amazing (USA) | Make Poverty History

  11. #11
    Join Date
    Feb 2004
    Posts
    1,345

    I'm trying to check a phone number

    and I want it to validate that the phone number is that way:
    bb-ccc-cccc

    This is what I got so far and I can't get it done:

    <script type="text/javascript">
    String.prototype.isPhoneNumber = function()
    {
    return /^\([1-9]\d{2}\)\s?\d{3}\-\d{4}$/.test(this);
    }

    function checkPhoneNumber()
    {
    var f = document.forms[0];
    alert('Valid phone number: ' + f.elements[0].value.isPhoneNumber());
    return false;
    }
    </script>

    <form action="#" onSubmit="return checkPhoneNumber();">
    <input type="text" id="number">
    <input type="submit" value="Submit">

    Thanks

  12. #12
    Join Date
    Nov 2002
    Location
    Dartmoor [Holiday]
    Posts
    2,382
    Try this:

    String.prototype.isPhoneNumber = function()
    {
    return /^\d{2}-\d{3}-\d{4}$/.test(this);
    }

    Adam
    "If youíre not using valid HTML, then you havenít created a Web page. You may have created something else, but it isnít a Web page." - Joe Clark

    Do something amazing (USA) | Make Poverty History

  13. #13
    Join Date
    Feb 2004
    Posts
    1,345

    Thanks a lot man...

    By reading all of you posts I learned the a lot. it's working fine like that:

    function check()
    {
    if (!(/^\d{2}-\d{3}-\d{4}$/.test(document.dd.PhoneNumber.value)))
    {
    window.alert('PhoneNumber');
    document.dd.PhoneNumber.focus();
    return false;
    }
    }

  14. #14
    Join Date
    Feb 2004
    Posts
    1,345

    is it possible to do

    that the first number can be 2 OR 3 numbers?

  15. #15
    Join Date
    Feb 2004
    Posts
    1,345

    Oh... I got it, got it

    !

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

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



Recent Articles