我要插入一個文本框,只有英文字符和其他特殊字符,如PHP的正則表達式,使字符串只有英文字符
[email protected]{]{[
等等
而且我想檢查字符串含有這些中的至少2個字符:(A-ZA-Z0-9)
所以我想的是:
preg_match('/[^a-zA-Z0-9 -"?()[]#:/\'_+*%@!~`$><,.;{}|\]/',$string)
這是一個好方法嗎?
我要插入一個文本框,只有英文字符和其他特殊字符,如PHP的正則表達式,使字符串只有英文字符
[email protected]{]{[
等等
而且我想檢查字符串含有這些中的至少2個字符:(A-ZA-Z0-9)
所以我想的是:
preg_match('/[^a-zA-Z0-9 -"?()[]#:/\'_+*%@!~`$><,.;{}|\]/',$string)
這是一個好方法嗎?
沒有你的做法是不好
試試這一個。你需要在角色類中完成你想要的特殊字符。你需要逃離]\-^
角色,因爲他們在課堂上有特殊的含義(取決於他們的位置)。
^(?=.*[A-Za-z0-9].*[A-Za-z0-9])[[email protected]{}[\]A-Za-z0-9]*$
第一部分是一個積極的向前看的某個地方,確保您的[A-Za-z0-9]
需要兩個字符的字符串中。
然後是字符類[A-Za-z0-9])[[email protected]\{\}\[\]A-Za-z0-9]
,您可以在其中放入要匹配的字符。
^
在我的表達式的開始處確保它匹配從開頭開始,並在末尾確保匹配字符串的末尾。
^
在你的例子的開頭是否定完整的字符類,你不想我猜,如果你想匹配字符^
把它放在類的其他地方。你班上的-
定義了一個與-"
相匹配的字符範圍,我不知道那些字符是什麼,但可能比你想要的要多。將-
放在開頭或結尾或轉義。
謝謝,當我嘗試進入例如「這是一個測試文本(測試文本)等」等「給它作爲無效 – fxuser 2011-06-10 09:18:54
把空間和圓括號到字符類,它將匹配 – stema 2011-06-10 09:22:03
我編輯它,現在看起來像這樣:**/^(?=。* [A-Za-z0-9]。[A-Za-z0-9] )[$!@ \(){\} \ [\] A-Za-z0-9] * $/**但是如果我想添加逗號或問號或別的東西,我必須將它們添加到括號中...我想能夠寫任何東西,除了它至少有2個字符的a-zA-Z0-9或者它不是垃圾短信 – fxuser 2011-06-10 09:38:20
$parameter ='(a-zA-Z){2}';
if $string='kasdfhk890';
preg_match($string,$parameter); //
return false;
if $string='k';
preg_match($string,$parameter); // single char error
return false;
if $string='kuyyee';
preg_match($string,$parameter);// english character only
return true;
(?:.*?[0-9a-zA-Z]){2,}[[email protected]{\]{\[]*
好奇,你爲什麼要這樣做? – Znarkus 2011-06-10 08:26:33
我有一個URL看起來像線程/ ID /標題,我試圖不顯示不必要的字符 – fxuser 2011-06-10 09:29:52