Php 如果字符串以点开头或结尾,如何使其无效?
例如,我想要Php 如果字符串以点开头或结尾,如何使其无效?,php,regex,Php,Regex,例如,我想要.brewpixels和brewpixels.来回音 您的用户名无效 如果点位于第一个字母和最后一个字母之间,则脚本应回显 你的用户名很好 如何更改正则表达式以实现这一点 $username = 'brew.pixels'; if(preg_match('/(^\d|[^\w])/', $username)){ echo 'your username is invalid'; } else { echo 'your username is good'; } 以下内
.brewpixels
和brewpixels.
来回音
您的用户名无效
如果点位于第一个字母和最后一个字母之间,则脚本应回显
你的用户名很好
如何更改正则表达式以实现这一点
$username = 'brew.pixels';
if(preg_match('/(^\d|[^\w])/', $username)){
echo 'your username is invalid';
} else {
echo 'your username is good';
}
以下内容将匹配以点开头或结尾的字符串 (诀窍是避开圆点,因为它在正则表达式中有特殊含义) 在附加条件下,
仅在正文中使用alpha-num下划线和点
:
/^(\.[\w.]+|[\w.]+\.)$/
只需在给定代码中替换:
if(preg_match(regexToMatchBadWords, $username)){
echo 'your username is invalid';
} else {
echo 'your username is good';
}
或者,您可以通过强制第一个和最后一个字符为alpha-num下划线,并且内部正文也接受点,直接匹配正确的单词:
/^(\w[\w.]+\w)$/
这会反转代码中的逻辑:
if(preg_match(/^(\w[\w.]+\w)$/, $username)){
echo 'your username is good';
} else {
echo 'your username is invalid';
}
以下内容将匹配以点开头或结尾的字符串 (诀窍是避开圆点,因为它在正则表达式中有特殊含义) 在附加条件下,
仅在正文中使用alpha-num下划线和点
:
/^(\.[\w.]+|[\w.]+\.)$/
只需在给定代码中替换:
if(preg_match(regexToMatchBadWords, $username)){
echo 'your username is invalid';
} else {
echo 'your username is good';
}
或者,您可以通过强制第一个和最后一个字符为alpha-num下划线,并且内部正文也接受点,直接匹配正确的单词:
/^(\w[\w.]+\w)$/
这会反转代码中的逻辑:
if(preg_match(/^(\w[\w.]+\w)$/, $username)){
echo 'your username is good';
} else {
echo 'your username is invalid';
}
我不确定您是否希望它包含其他正则表达式信息,但您可以:
if (preg_match('/^\./', $username) || preg_match('/\.$/', $username) {
echo 'invalid';
}
这将使。brew和brew。失败
我忘记了管道字符,请参阅Enessays答案以了解更简单的正确方法。我不确定您是否希望它包含其他正则表达式信息,但您可以:
if (preg_match('/^\./', $username) || preg_match('/\.$/', $username) {
echo 'invalid';
}
这将使。brew和brew。失败
我忘记了管道字符,请参阅Enessays答案以获得更简单的正确方法。另外:
(^(\.[\d\w])?([\d\w]\)?$)
另外:(^(\.[\d\w])?([\d\w]\)([\d\w]\?$)
这是有效的,但我失去了功能。我提供的正则表达式只允许字母数字字符和下划线。我希望最后一个正则表达式也这样做,并防止在字符串的开头和结尾出现点。@brewpixels是否允许正文中的alphaNum字符+下划线+点?是的,没错。但是alphaNum字符和下划线可以在正文之外。请尝试我的上一次编辑,如果它不起作用,我需要一些示例来处理!(快一点,我必须在30分钟xD后离开)这可以工作,但我失去了功能。我提供的正则表达式只允许字母数字字符和下划线。我希望最后一个正则表达式也这样做,并防止在字符串的开头和结尾出现点。@brewpixels是否允许正文中的alphaNum字符+下划线+点?是的,没错。但是alphaNum字符和下划线可以在正文之外。请尝试我的上一次编辑,如果它不起作用,我需要一些示例来处理!(快点,我30分钟后就得走了)