if(!preg_match('/^[a-zA-Z0-9_*]{6,10}$/',$pwd)){ echo "<script>alert('密码必填,且只能大小写字符和数字,以及*、_构成,长度为6到10个字符!');history.back();</script>"; exit; }
时间: 2023-05-25 07:02:48 浏览: 89
This code is a PHP script that checks if a password (represented by the variable $pwd) meets certain criteria:
1. It must consist only of letters (both uppercase and lowercase), numbers, asterisks (*) and underscores (_).
2. It must be between 6 and 10 characters long.
If the password does not meet these criteria, the script displays an alert box with an error message stating the requirements and goes back to the previous page using the history.back() method. The exit() function is used to terminate the script execution.
相关问题
extract($_POST); foreach($_POST as $var){ if(preg_match("/[a-zA-Z0-9]/",$var))
这段代码的主要功能是通过提取和遍历$_POST数组中的变量,如果变量中包含字母或数字,则会执行某些操作。该代码可能用于过滤用户输入,以防止恶意代码注入。具体操作取决于代码中的其他部分,这里没有提供完整的代码,因此无法确定具体操作。
关于您的问题,代码将使用extract($_POST)将$_POST数组中的变量提取到当前符号表中,并使用foreach循环遍历$_POST数组中的每个变量。在foreach循环中,如果变量$var中包含字母或数字,则可能会进行一些处理。
请注意,这段代码中的处理方式可能不安全,因为它没有对用户输入进行充分验证和过滤。建议在使用用户输入时,始终进行适当的输入验证和过滤,以防止安全漏洞。
if ( !preg_match('/^\w+$/', $args[$i]) )
在PHP代码中,`!preg_match('/^\w+$/', $args[$i])` 是一个条件表达式,用于检查数组 `$args[$i]` 中的元素是否满足特定正则表达式的模式。这个正则表达式 `/^\w+$/` 的含义如下:
- `^` 表示匹配字符串的开始。
- `\w` 匹配字母数字字符(等同于 `[a-zA-Z0-9_]`)。
- `+` 表示前面的字符(这里是 `\w`)可以出现一次或多次。
- `$` 表示匹配字符串的结束。
所以,整个表达式的意思就是验证 `$args[$i]` 是否只包含一个或多个连续的字母数字字符,没有空格或其他非字母数字字符。如果不符合这个模式,`!preg_match()` 函数会返回 `true`(因为否定运算符 `!`),导致后续的代码执行(可能是某个错误处理或者是跳过某些操作)。
例如,如果你有一个数组 `$args`,并且想检查其中每个元素是否仅由字母数字组成,可以这样使用这段代码:
```php
foreach ($args as $i => $arg) {
if (!preg_match('/^\w+$/', $arg)) {
// 操作失败或者忽略此元素,因为不是有效的字母数字字符串
echo "Element at index $i is not a valid word: $arg";
}
}
```
阅读全文