2010-10-09 104 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