PHP:正则表达式字母数字和一些特殊字符

Fre*_*edy 7 php regex

我想使用正则表达式来限制允许的字符.那是:

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

这是我的正则表达式函数:

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

我实际上已经按照我的意愿尝试了它,但我仍然不确定.我的正则表达式是正确的吗?还是有其他形式的正则表达式?请帮助我,因为我仍然是这个正则表达式的新手.谢谢.

Mat*_*ija 9

它的工作原理应该如此.

你应该只在*之前添加\来逃避它.

在这里查看:正则表达式测试

  • 是的..但如果它在一个字符类中,则无需转义`*` (2认同)