顶级 URL 表单验证
Top level URL form validation
如何仅使用java脚本(或PHP(顶级URL/域进行验证或过滤?它还必须接受新的域扩展,例如:
这是正确的:http://www.something.bid等。。。
这是不正确的:http://www.example1.com/blahblah/etc/something/index.php等。。。
还有子域 - 不允许!
它将在我的输入表单中使用java脚本或PHP进行验证。非常感谢!
好的,TLD的意思是:.com
、.org
、.net
等...
子域意味着:www.NAME
、dev.DOMAIN_NAME
等...
所以网址是
[SUB_DOMAIN].domain_name.[TLD]/[Extra URL PATH|QUERY_PARAMS]
这符合www.something.bd
,www
是一个子域,可能您想为www
子域破例。
使用此正则表达式来匹配网址, /(https?:'/'/)?(([0-9a-z'_-]+)'.)?([a-z0-9'_-]+)'.([a-z]{2,})'/?('/.+)?/
样本
var matches = 'http://www.something.bid'.match(/(https?:'/'/)?(([0-9a-z'_-]+)'.)?([a-z0-9'_-]+)'.([a-z]{2,})'/?('/.+)?/)
结果
["http://www.something.bid"、"http://"、"万维网"、"万维网"、"某物"、"投标"、未定义]
matches[3] == sub-domain
matches[4] == domain
matches[5] == tld name
matches[6] == rest path
您现在可以检查子域是空还是特定值。
function checkUrl(url){
var regx = /(https?:'/'/)?(([0-9a-z'_-]+)'.)?([a-z0-9'_-]+)'.([a-z]{2,})'/?(.+)?/;
var matches = url.match( regx );
if ( matches.length == 7
&& (!matches[3] || matches[3] == 'www')
&& matches[4]
&& matches[5]
&& !matches[6] )
return true;
return false;
}
alert(checkUrl("http://something.bid/"));
alert(checkUrl("http://www.example1.com/blahblah/etc/something/index.php"));
快乐编码... :-(
相关文章:
- JAVASCRIPT验证表单中的日期
- 如何在使用ajax提交的codeigniter中使用form_validation验证表单数据
- 如何使用jQuery正确验证表单
- Javascript不会验证表单
- 如何使用javascript验证表单中的数据,然后调用php页面
- 包括来自另一个页面的Boostrap模态;t验证表单
- Javascript验证表单不重定向页面
- 在提交之前验证表单,jQuery发布到javaScript,然后提交到确认页面
- 引导复选框-x 选中时未正确更新 DOM - 如何验证表单
- Jquery 验证表单
- 验证表单中的 jQuery-UI 微调器
- 在 Jquery 中验证表单的输入字段
- 如何验证表单控制数据大小不超过2.5 mb
- 在表单进入Angular中的ng-submit之前验证表单
- Javascript表单验证:表单在错误返回时提交:
- 使用Angular.js验证表单输入的原始状态
- 正在复制验证表单
- 如何在转盘中逐步(3步)验证表单
- 使用javascript验证表单值
- 验证表单按id输入val