only numbers allowed

<input type="text" onKeyUp="if (isNaN(this.value)) this.value=this.value.replace(/[^0-9.]/g,'')">
this do the work partly cause it leaves the point...
sasha85Asked:
Who is Participating?
 
b0lsc0ttIT ManagerCommented:
There was a few typos.  One that caused a big problem.  This works.

<input type="text" onkeypress="var k=(event.which)? event.which : event.keyCode; return (k < 48 || k > 57) ? false : true;" />

bol
0
 
erikTsomikSystem Architect, CF programmer Commented:
0
 
sasha85Author Commented:
"no point"
0
Cloud Class® Course: Amazon Web Services - Basic

Are you thinking about creating an Amazon Web Services account for your business? Not sure where to start? In this course you’ll get an overview of the history of AWS and take a tour of their user interface.

 
b0lsc0ttIT ManagerCommented:
What is the problem?  The solution is from the question ErikTsomik pointed to.  Is there a problem?

What character are you putting in that is getting past the script or causing some other problem?

If you don't want to allow the decimal point then just remove it and use ...

<input type="text" onKeyUp="if (isNaN(this.value)) this.value=this.value.replace(/[^0-9]/g,'')">

Let me know if you have a question or need more info.

bol
0
 
sasha85Author Commented:
0
 
erikTsomikSystem Architect, CF programmer Commented:
that it supposed to be because it displays money value and it can contains pennies
0
 
sasha85Author Commented:
i need to display/insert 10 numbers...that why i do not need this point:)
0
 
b0lsc0ttIT ManagerCommented:
Do you need to test for 10 numbers?  If you just want to remove the period and all other non-numeric characters then use the html and script I modified.  It will do that.

bol
0
 
erikTsomikSystem Architect, CF programmer Commented:
input type="text" onKeyUp="if (isNaN(this.value)) this.value=this.value.replace(/[^0-9]/g,'')">
0
 
b0lsc0ttIT ManagerCommented:
erikTsomik,

Did you notice http:#20387106 ?  Your post copies the contents of mine.  Please either give credit or read previous comments more carefully.  Hopefully it was just a mistake but it always best to be careful so that type of thing isn't done even accidentally. :)

Let me know if you have a question about this.

bol
0
 
sasha85Author Commented:
i don ;t know where i got wrong with explaining my question but i will try again:)
i need that inside the input text user will be able to insert only numbers 0-9, nothing else.
yes it have to be 10...but this i will do with maxlenght...

onKeyUp="if (isNaN(this.value)) this.value=this.value.replace(/[^0-9]/g,'')
this not good cause it premit the user to write point between the numbers like it be a price...than its not good
0
 
b0lsc0ttIT ManagerCommented:
The problem is the isNaN.  use ...

<input type="text" onkeypress="var k = (e.which)? e.which : e.keyCode; return (k < 48 || k > 57) ? false : return true;">

That should do it.  Sorry for overlooking the isNaN.

bol
0
 
sasha85Author Commented:
0
 
Michel PlungjanIT ExpertCommented:
You mean
<input type="text" onkeypress="var k = (e.which)? e.which : e.keyCode; return (k < 48 || k > 57) ? false : true;">

or

<input type="text" onkeypress="var k = (e.which)? e.which : e.keyCode; return !(k < 48 || k > 57) ">

or

<input type="text" onKeyUp="this.value=this.value.replace(/[^0-9]/g,'')">
0
 
Michel PlungjanIT ExpertCommented:
Oh, You fixed it
0
 
sasha85Author Commented:
sorry, what?:)
0
 
b0lsc0ttIT ManagerCommented:
Thanks for the grade, the points and the fun question.

bol

p.s. mplungjan, Yeah, I caught that error and also had to change the code so e was actually defined.  The script is usually in a function but I knew Sasha85 wanted it short as possible and probably inline.  Thanks for posting. :)
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.