2014-09-25 54 views
-1

我想寫一個正則表達式使用jQuery來驗證輸入字段,它不會允許特殊字符結束和字符串長度應該是在3-25之間。正則表達式不允許特殊字符在結尾和字符串長度應該在3-25之間

目前我有這將不允許特殊炭末

([0-9a-zA-Z\s])$ 

爲長度的表達式我試圖

([0-9a-zA-Z\s])${3,25} 

但得到錯誤前面的字符是不可量化。

一些有效的投入

abc#123 
a%scsd 

無效輸入

abc453& 
ab 
123% 
+0

'{2,24} [0-9A-ZA-Z \ S] $',也許?通過它的外觀,你可以使用正則表達式教程。 – Biffen 2014-09-25 08:26:37

+0

@ali我認爲空間是一個特殊的角色。你想在最後加上空格和'$''([0-9a-zA-Z \ s \ $])$'? – 2014-09-25 08:27:12

+0

很抱歉忘記刪除$並允許留空 – Ali786 2014-09-25 08:35:56

回答

1

使用負先行檢查線路包含在最後還是沒有一個特殊字符。並且使用正向前視來指定字符串長度必須是3到25.下面的正則表達式只有在滿足兩個條件的情況下才會匹配字符串。

(?!.*[\W_]$)(?=^.{3,25}$).* 

DEMO

OR

(?=.*[A-Za-z0-9]$)(?=^.{3,25}$).* 

DEMO

1

你需要檢查它像這樣

^(.{2,24}[0-9a-zA-Z])$ 

.{2,24}允許任何字符(至少2個,最多24個)和[0-9a-zA-Z]將最後一個字符限制爲字母數字。

1
(?!.*[[email protected]#$%^&*]$)^.{3,25}$ 

試試這個。你可以添加更多的特殊字符,如果你想。

http://regex101.com/r/qC9cH4/8

+0

爲什麼downvoted ???????/ – vks 2014-09-25 08:41:31

+1

我不downvoted,這也是正確的,但我不能去什麼是不允許我可以去什麼是允許的,因爲有很多特殊的字符,我不'不知道。 – Ali786 2014-09-25 08:45:13

相關問題