2011-05-24 42 views
0

我是比較新的JavaScript,並要設計具有以下字段需要與JavaScript表單驗證

 
name must start with a capital letter and must have only the characters a-z and A-Z and 

password_field => (must contain atleast two symbols from the list [ @,#,$,%,^,& ] 

形式vlalidator幫助最新最好的方式來滿足上述所有條件?我應該使用regex c還是什麼?

回答

0

對於大寫字母這個成立:str[0] >= 'A' && str[0] <= 'Z'

只有字母:類似/^[a-z]$/i的正則表達式應匹配。

長度:str.length >= 10

符號:正則表達式像str.replace(/[^@#$%^&]+/, "").length >= 2

如果你只想使用正則表達式的密碼,你可以這樣做:

/[@#$%^&]{2,}/.test(str) && /.{10,}/.test(str) 
+0

不超過4個空格呢? – zbuddy 2011-05-24 09:55:23

+0

那麼,也許'str.replace(/ [^]/g,'').length <= 4',這是否符合您的需求? – pimvdb 2011-05-24 10:05:13

+0

我想我已經發布了兩個條件,但如果你確實需要正則表達式,我會更新我的答案。 – pimvdb 2011-05-24 10:13:24

0

正則表達式將明確是有幫助的。

這裏是一個驗證器,這是很容易定製的axample:validator

它只是需要某種翻譯方法 - 或者只是替換爲您輸出文本的電話。

在您爲每個驗證規格一樣capitalletter集類的HTML

<input class="capitalletter" type="text" name="somename" />

,然後實現在驗證對象的函數capitalletter ...

JS調用將是:

var my_validator = new validator(yourformID); 
my_validator.validate()