【发布时间】:2015-03-30 15:53:34
【问题描述】:
我需要验证一个输入字段的 URL 字段,该字段处理一个挑剔的 API,该 API 将接受非常特定格式的 URL 字符串 - 没有 www 和 http 附加到字符串的开头,否则它会中断。 javascript 处理程序从validation.php 文件中获取数据。除了一个字段,我什么都可以工作。
所以,例如我想要
example.com/example
和
example.com
通过验证,但我想要
和
以及任何变体,包括 http:// 或 www 的任何派生。不验证。
我下面的正则表达式目前允许任何类型的 URL,包括 http 和 www。我希望它只允许上述类型的 URL 字符串,但不知道该怎么做。
// API URL VALIDATION
if ($formfield == "api_url") {
if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i", $value)) {
echo "Please enter your URL without the http://www part attached"
} else {
echo "<span>Valid</span>";
}
}
有什么想法吗?
【问题讨论】:
-
所以删除 reg exp 的第一部分或删除代码中不需要的部分。只需砍掉不需要的部分并重置文本框的值。
标签: javascript php regex validation