Ich habe das folgende Skript hinzugefügt, um die URL in meinem Formularfeld zu überprüfen. Es zeigt eine gültige URL an. Selbst wenn ich die Magento-Standardklasse validate-url verwende, wird kein Fehler angezeigt .
$url=https://www.google.co
if(!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$url))
{
echo "invalid url";
}
else
{
echo "valid url";
}
So beheben Sie dieses Problem.
magento-1.7
magento-1.8
saravanavelu
quelle
quelle
Antworten:
Der von Ihnen gepostete Regex macht nicht wirklich das, was Sie denken. Wenn Sie dies in einem Regex-Tool wie dem folgenden veröffentlichen:
Dann können Sie Ihre Regex debuggen, aber im Grunde ist das, was Sie haben, eine Übereinstimmung für entweder
http://
oderwww.
so in Ihrem Fallwww.google.co
ist vollkommen gültig.Magento
js/prototype/validation.js
bietet zwei verschiedene Optionen zur URL-Validierung.Damit Ihr Regex mit dem Protokoll funktioniert, können Sie Folgendes verwenden:
Aber seien Sie gewarnt, dass dies auch passt,
http://a
was Sie wohl nicht wollen.quelle