HTML输入框只允许输入自然数,或带有”,25″或”,5″。

huangapple go评论105阅读模式
英文:

Html input number to accept only natural number or with ,25 or ,5

问题

我正在寻找一种方法,使我的输入字段只接受自然数或以",25"或",5"结尾的数字。
我必须用它来插入时间段,它只能接受四分之一、半或自然数。

非常感谢。

英文:

i'm searching for something that makes my input field accept only natural number or numbers ending with ,25 or ,5 .
I must use it to insert time periods, and it must take only quarter, half or natural numbers.

  <input type="number" name="quantity" min="0" max="10">

Thanks a lot.

答案1

得分: 1

首先,您应该在 PHP 方面做一些工作来拒绝不良输入。这应该相对容易做到。这是为了防止可能因为超旧的浏览器不支持打破客户端检查的 JavaScript 而发生的情况。

但是,由于您还希望在提交之前进行检查,您应该使用 JavaScript 表单验证。这在浏览器中进行,以防止用户提交不正确的表单。您可以在此处查看一个教程 right there。下面描述了一种更方便的方法,但是 JavaScript 方式可以作为备用方案使用。

对于支持 HTML5 的较新浏览器,您可以在输入上使用 pattern 属性。它使用正则表达式针对用户的值进行检查。以下正则表达式可能不是最佳解决方案,但应该满足您的要求:

^([0-9]+,?|,)(25|5)?$
英文:

First of all you should do something on the php side to reject bad inputs. This should be fairly easy. It is to prevent maybe because of super old browser not supporting javascript that breaks client-side checks.

But as you also want the check to be done before submitting, you should use Javascript Form Validation. This happens at the browser to prevent the user from submitting an incorrect form. You can see a tutorial right there. A more convenient way is described below but the JS way can be used as fallback.

For newer browsers supporting HTML5 you can use the pattern attribute on input. It uses regex to check against the value from the user. The following regex might not be the best solution but should satisfy your requirement:

^([0-9]+,?|,)(25|5)?$

huangapple
  • 本文由 发表于 2020年4月10日 16:03:59
  • 转载请务必保留本文链接:https://go.coder-hub.com/61136256.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定