2012-07-12 144 views
2

我正在使用jQuery來驗證輸入表單。我在我的輸入框名稱,電話等等的值是作爲用戶指南的幽靈提示。Jquery驗證引擎正則表達式

我的問題出現在jQuery驗證中,因爲它將這個幻影文本識別爲輸入,因此在用戶輸入任何內容之前處理表單。

輸入字段:

<input class="validate[required,custom[name]] text-input" type="text" name="Name" id="Name" value="Name" onfocus="if 
(this.value==this.defaultValue) this.value=''; " onblur="if(this.value=='') this.value=this.defaultValue;" /> 

正則表達式的驗證引擎js文件:

"name":{ 
    "regex":"/(Name)$/", 
    "alertText":"Please enter your name"}, 

我的目標是:

如果輸入字段= 「名稱」{顯示JS錯誤} 否則:過程域

我該怎麼做才能匹配「名稱」。附加問題:我也有多個詞作爲幽靈文本的輸入字段,例如「您的電話號碼」。正則表達式與此不同嗎?

在此先感謝

回答

1

你是完全正確的湯姆 - 我們得到了我們的電線穿過 - 你有效地要否定的正則表達式所以用...

/^(?!^Name$).*$/ 

這將使用negative lookahead以匹配任何東西(即驗證任何東西)而不是Name

同樣的電話號碼一個...

/^(?!^Your Phone Number$).*$/ 

當然,這些不會真正確認它們是有效的名稱(它們是什麼?:))或有效的電話號碼,只是他們NameYour Phone Number正是 ...

+0

我已經試過了,但我依然得到錯誤彈出... 「名」:{ \t「正則表達式」:「/ ^名稱$ /「, \t「alertText」:「請輸入您的姓名」}, – Tom 2012-07-12 14:01:45

+0

感謝您的幫助El Ronnoco,在再次嘗試錯誤後反過來 - 如果我將'Name'放入字段中,它不會出錯,但是其他任何內容確實。有任何想法嗎? – Tom 2012-07-12 14:05:53

+0

你能發表更多的代碼嗎?或者更好的在jsFiddle上創建一個演示來展示你的問題? – 2012-07-12 15:11:34