首頁 > 後端開發 > php教程 > 這個正則這樣寫有問題嗎?

這個正則這樣寫有問題嗎?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2016-08-04 09:20:41
原創
1150 人瀏覽過

不管輸入英文還是中文 為什麼老是提示不合法呢?

<code>$reg1='/\w{20,100}/';
$a=str_replace(" ","",$_POST['name']);
if(preg_match($reg1, $a)){
                echo "合法";
              }else{
                echo "不合法";
              }</code>
登入後複製
登入後複製

回覆內容:

不管輸入英文還是中文 為什麼老是提示不合法呢?

<code>$reg1='/\w{20,100}/';
$a=str_replace(" ","",$_POST['name']);
if(preg_match($reg1, $a)){
                echo "合法";
              }else{
                echo "不合法";
              }</code>
登入後複製
登入後複製

<code class="php">$reg1='/^.{20,100}$/u';</code>
登入後複製
  1. w 只能符合 字母+數字+底線

  2. 不加 ^ $ 限制的話,就變成只要有20以上的字符永遠成立了,比如1000個a也成立

  3. u 修飾符,讓低版 php 中文友好,php7我測試了,加不加 u 都一樣。

<code>$reg1='/([\x{4e00}-\x{9fa5}]|\w){20,100}$/u';
</code>
登入後複製

你試試看,中文也可以

相關標籤:
php
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
怎麼學好php
來自於 1970-01-01 08:00:00
0
0
0
PHP擴充intl
來自於 1970-01-01 08:00:00
0
0
0
php數據獲取?
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板