2010-10-09 133 views
-3

我怎样写一个接受文本 仅值“1”的正则表达式,它不应该接受超过“1”如何写这个正则表达式

+2

为什么有一个文本框,如果它只能接受一个值呢?为什么不选择复选框? – 2010-10-09 20:14:42

+0

为什么你会用这个正则表达式呢?除了与实际编写正则表达式相关的复杂性之外,调用正则表达式引擎与任何语言中的简单整数比较相比都是非常昂贵的... – 2010-10-09 20:15:46

回答

2
/^1$/ 

...但对于一个零或greter “一定是这个值,正是这个值,除了这个值,”测试,用简单的字符串比较你会更好。

+0

如何将此添加到现有的^ [0-9 \] + $到这和形成表达/^1 $/ – Someone 2010-10-09 20:27:22

+0

有一个问题但我不能解释,现在解决 – Someone 2010-10-09 20:31:39

8
if (theTextBoxValue == "1") { 
    // accept 
} else { 
    // reject 
} 

你不需要regex这个简单的任务。而且,如果您只在用户输入中接受“1”,为什么要为用户提供这样的输入?

1

/^1$/但在大多数语言(或.equals("1"))中,简单的== "1"就足够了。

0

不要以为你想用这个正则表达式。

模式:^1$

1

我看到你以前的问题(使用jQuery validationEngine),我被它着迷,所以我开始寻找。

使用funcCall时的问题(正如您在旧帖子中尝试的那样)是该函数在没有任何上下文的情况下调用(没有参数并且具有此==窗口),因此您无法确定哪个输入字段正在验证中(我用一个技巧解决了这个问题 - 请参阅下面链接的示例&)。

我发现的另一个解决方案是使用正则表达式(因为你现在正在尝试)。 这是必须添加的语言文件中的条目:

"isOne":{ 
     "regex":"/^1$/", 
     "alertText":"* Only '1' is valid [regex]" 
    } 

这是你如何使用它的输入字段:

<input type="text" class="validate[custom[isOne]]"> 

而且你这是怎么开始验证引擎:

$('#form').validationEngine({ 
    validationEventTriggers:"change" 
}); 

您可以同时使用功能和正则表达式查看工作示例here

+0

至少你理解我的问题所以我选择了正则表达式,并能够解决它easliy – Someone 2010-10-09 23:02:13