8

正規表現を使用して、許可される文字を制限したいと考えています。あれは:

a - z /* a to z */
A - Z /* A to Z */
0 - 9 /* 0 to 9 */
_ - /* underscore & dash */
~ ! @ # $% ^ & * () /* allowed special characters */

これは私の正規表現関数です:

function validChr($str) {
    return preg_match('/^[A-Za-z0-9_~\-!@#\$%\^&*\(\)]+$/',$str);
}

私は実際にそれを試してみましたが、結果は思い通りでしたが、まだ確信が持てませんでした。私の正規表現は正しいですか?または、他の形式の正規表現はありますか? この正規表現についてはまだ新しいので、助けてください。ありがとうございました。

4

2 に答える 2

10

正常に動作します。

エスケープするには、*の前に\を追加するだけです。

ここでそれをチェックしてください:正規表現テスト

于 2012-11-29T08:14:00.963 に答える