我試圖將textarea的內容正則表達爲4到138個字符。只有長度的正則表達式 - 任何字符
我的正則表達式是這樣的:'/^.{4,138}$/'
但是 - 我希望用戶能夠包括回車符,我相信「」阻止他們做。關於我需要改變的想法?
編輯:
顯然還有其他方法來獲得文本的長度 - strlen
...等等,但是我正在尋找的正則表達式特別是由於檢查的性質(即一個插件,需要正則表達式)
我試圖將textarea的內容正則表達爲4到138個字符。只有長度的正則表達式 - 任何字符
我的正則表達式是這樣的:'/^.{4,138}$/'
但是 - 我希望用戶能夠包括回車符,我相信「」阻止他們做。關於我需要改變的想法?
編輯:
顯然還有其他方法來獲得文本的長度 - strlen
...等等,但是我正在尋找的正則表達式特別是由於檢查的性質(即一個插件,需要正則表達式)
我希望用戶能夠包含返回字符,我相信「。」阻止他們做。關於我需要改變的想法?
或者:
.
到[\s\S]
(空白/換行符是\s
部分,其餘全部是\S
一部分)/…/s
爲什麼不使用strlen
檢查字符串長度?這比使用正則表達式更有效率。另外,你可以給出有意義的錯誤信息。
$length = strlen($input);
if ($length > 138)
print 'string too long';
else if ($length < 4)
print 'string too short';
嘗試'/^.{%d,%d}$/s'
有.
匹配換行符。
要麼
/^.{4,138}$/s
或
/^[\s\S]{4,138}$/
將匹配換行符。
s
標誌告訴引擎將整件事視爲一條線,因此.
除匹配通常匹配外,還會匹配\n
。請注意,這也導致^
和$
到在整個字符串(而不僅僅是每個線的開始/結束)的開始和結束匹配,除非你還使用m
標誌。
[\ s \ S]作品 - 謝謝! :) – Dave 2011-06-09 17:20:19