Я искал 2 часа, и я до сих пор не понимаю. Мне нужно оценить ввод имени учетной записи. Это может ТОЛЬКО содержать цифры (0-9
), буквы (a-z
и A-Z
) и точку (.
).php preg_match только цифры, буквы и точки
Все остальное запрещено. Таким образом, нет подчеркивания (_
), плюс (+
) и так далее.
Правильные счета должны выглядеть, например .:
john.green
luci.mayer89
admin
Я пробовал много примеров preg_match/регулярное выражение, но я не получить работу. Всякий раз, когда я делаю echo preg_match(...)
, я получаю 1
как true
.
$accountname = "+_#luke123*";
echo preg_match("/[a-z0-9.]/i", $accountname);
//--> gives back 1 as true
Кроме того, было бы здорово, чтобы контролировать, что имя учетной записи начинается с по крайней мере 2 букв или цифр, и заканчивается, по крайней мере 1 буква или цифра - но я далеко, далеко от этого.
идеально !!! THX для объяснения! теперь я понимаю смысл^и $. Можете ли вы также помочь мне со второй частью? строка должна начинаться с двух или более букв или цифр и заканчиваться 1 или более буквами или цифрами (например, lu.b хорош, но «a.» или «.abc» должен завершиться с ошибкой)? – Lox
Возможно, этот '^ [a-z0-9] {2,} [a-z0-9.] * [A-z0-9] + $' (должен использоваться с опцией 'i') - это то, что вы находясь в поиске? Начинается с 2 или более букв или цифр, затем любое количество цифр, букв или периода; и заканчивается на 1 или более букв или цифр. https://regex101.com/r/fL6qY7/3 –
Я попробовал это и, похоже, работает: '^ [a-z0-9] {2} [a-z0-9.] {0,} [a-z0-9] {1} + $ ' – Lox