Javascript表单验证|设置特定的输入格式

时间:2017-07-26 11:48:32

标签: javascript

我正在开发一个项目,该项目有一个输入字段,要求用户只能输入以下三个选项中的任何一个:

  1. 数字如150
  2. 以一个字母开头的数字(必须是N,不区分大小写),如N150
  3. 以一个字母结尾的数字(必须为N,不区分大小写),如150N
  4. 任何其他价值如:

    • 150x将返回错误消息wrong input
    • x150将返回wrong input
    • 1N50将返回wrong position

3 个答案:

答案 0 :(得分:0)

执行此操作的正确方法是创建一个有效数字数组,然后检查数组中是否存在给定文本。
例如:

var validNumbers = [ 150, N150, 150N ]; 
if (validNumbers.indexOf(parseInt(num, 10)) >=0 ) {
    //Match
}

您需要IE的indexOf功能:

if (!Array.prototype.indexOf) {
Array.prototype.indexOf = function(needle) {
    for(var i = 0; i < this.length; i++) {
        if(this[i] === needle) {
            return i;
        }
    }
    return -1;
};
}

答案 1 :(得分:0)

检查这个答案:

Regular expression to match a number range in JavaScript

并根据您的需求进行调整,您可以轻松添加&#34; N&#34;在结尾或开头添加正则表达式部分以使接受值如下: -N150 -150N -130N -N130

答案 2 :(得分:0)

非regexapproach(只是为了说明为什么正则表达式很有用):

minimize

http://jsbin.com/kafivecedi/edit?console