numeric checker

T

Tom

Being a newbie to JS, I would appreciate some advice. When a visitor
enters a number into a textbox, I want to check that it is 15 digits long
and then display a message accordingly and the following script does that
OK. However, I want also to make sure that only "numbers" are entered and
no other characters. Again the attached does this but is clumsy to say the
least! How do I get it to loop back to the input box if it contains a
non-numeric, before it goes off to check for 15 digits?
<script>
var ok = " This chip will work";
var nook = "This chip will not work";
function check_input()
{
var entry = document.forms.f.textfield.value;
var length = entry.length
document.clear();
res = isNaN(entry) ? "please enter only numbers": "Press OK to continue";
alert(res);
document.write("<body bgcolor=\"44eedd\">");
document.write("<body text=\"000000\">");
document.write("<B><font size=3 face='arial'>")
if(length == 15) document.write(ok);
else
document.write(nook);
}
</script>
Any help would be greatly appreciated.
Tom
 
C

cwdjrxyz

Tom said:
Being a newbie to JS, I would appreciate some advice. When a visitor
enters a number into a textbox, I want to check that it is 15 digits long
and then display a message accordingly and the following script does that
OK. However, I want also to make sure that only "numbers" are entered and
no other characters. Again the attached does this but is clumsy to say the
least! How do I get it to loop back to the input box if it contains a
non-numeric, before it goes off to check for 15 digits?
<script>
var ok = " This chip will work";
var nook = "This chip will not work";
function check_input()
{
var entry = document.forms.f.textfield.value;
var length = entry.length
document.clear();
res = isNaN(entry) ? "please enter only numbers": "Press OK to continue";
alert(res);
document.write("<body bgcolor=\"44eedd\">");
document.write("<body text=\"000000\">");
document.write("<B><font size=3 face='arial'>")
if(length == 15) document.write(ok);
else
document.write(nook);
}
</script>

There are people here who use javascript, and some may answer you.
However I also suggest that you go to the Usenet group
comp.lang.javascript. They have an extensive FAQ that might be useful
to you and might help. You are quite right in wanting to check for
charcter length entered and checking for numbers only also, since there
are people who will enter nearly anything into a form, including hacker
scripts. Also server side script such as php sometimes can have
advantages, especially if some of your site visitors have javascript
turned off.
 
N

Neredbojias

To further the education of mankind said:
Being a newbie to JS, I would appreciate some advice. When a
visitor enters a number into a textbox, I want to check that it is 15
digits long and then display a message accordingly and the following
script does that OK. However, I want also to make sure that only
"numbers" are entered and no other characters. Again the attached
does this but is clumsy to say the least! How do I get it to loop
back to the input box if it contains a non-numeric, before it goes off
to check for 15 digits? (snip)
Any help would be greatly appreciated.
Tom

The easiest way is a regular expression match check for 15 numeric digits.

OTTOMH: var.match(/\d\d\\d\d\d\d\d\d\d\d\d\d\d\d\d/);

or

var.match(/\d{15}/);
 
T

Toby Inkster

Tom said:
document.write("<body bgcolor=\"44eedd\">");
document.write("<body text=\"000000\">");
document.write("<B><font size=3 face='arial'>")

What in the name of sweet Jesus is that?!

You're trying to output not one but two *extra* BODY elements. An HTML
document must contain precisely *one* BODY element. The FONT element is
deprecated too, though that's the least of your worries.

Better:

<script type="text/javascript">
var ok = "This chip will work";
var nook = "This chip will not work";

function check_input()
{
var entry = document.forms.f.textfield.value;
window.alert(empty.match(/\d{15}/) ? ok : nook);
}
</script>
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,904
Latest member
HealthyVisionsCBDPrice

Latest Threads

Top