Javascript正则expression式来validationURL
我使用以下正则expression式validationurl。 我也想validationgoogle.com,但它返回false。 在RE下面可以更改什么来validationgoogle.com 。
console.log(learnRegExp('http://www.google-com.123')); // false console.log(learnRegExp('https://www.google-com.com')); // true console.log(learnRegExp('http://google-com.com')); // true console.log(learnRegExp('http://google.com')); //true console.log(learnRegExp('google.com')); //false function learnRegExp(){ return /^(ftp|https?):\/\/+(www\.)?[a-z0-9\-\.]{3,}\.[az]{3}$/.test(learnRegExp.arguments[0]); }
这一般validationURL
console.log('http://www.google-com.123.com', validateUrl('http://www.google-com.123.com')); // true console.log('http://www.google-com.123', validateUrl('http://www.google-com.123')); // false console.log('https://www.google-com.com', validateUrl('https://www.google-com.com')); // true console.log('http://google-com.com', validateUrl('http://google-com.com')); // true console.log('http://google.com', validateUrl('http://google.com')); //true console.log('google.com', validateUrl('google.com')); //false console.log('http://www.gfh.', validateUrl('http://www.gfh.')); //false console.log('http://www.gfh.c', validateUrl('http://www.gfh.c')); //false console.log('http://www.gfh:800000', validateUrl('http://www.gfh:800000')); //false console.log('www.google.com ', validateUrl('www.google.com ')); //false console.log('http://google', validateUrl('http://google')); //false console.log('//cdnblabla.cloudfront.net/css/app.css', validateUrl('//cdnblabla.cloudfront.net/css/app.css')); //true function validateUrl(value) { return /^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[az\u00a1-\uffff0-9]-*)*[az\u00a1-\uffff0-9]+)(?:\.(?:[az\u00a1-\uffff0-9]-*)*[az\u00a1-\uffff0-9]+)*(?:\.(?:[az\u00a1-\uffff]{2,})))(?::\d{2,5})?(?:[/?#]\S*)?$/i.test(value); }
这对我来说是完美的。 我希望这对别人来说是完美的! 🙂
/^((https?):\/\/)?([w|W]{3}\.)+[a-zA-Z0-9\-\.]{3,}\.[a-zA-Z]{2,}(\.[a-zA-Z]{2,})?$/
在这里,你需要使“ftp / http(s)://”不是必须的。 使用 ”?” 为了这。
function learnRegExp(){ return /((ftp|https?):\/\/)?(www\.)?[a-z0-9\-\.]{3,}\.[az]{3}$/.test(learnRegExp.arguments[0]); }
/(http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
^...
符号是说开始,所以最后的日志是有道理的,即string不以ftp或http(s)开头。 你也用...$
来说,string必须以三个字母结束,而这个字母再次失败(第2行),它不会像这样结束。 一些小的调整,你应该在那里。
- PHP的filter_var FILTER_VALIDATE_EMAIL实际上工作吗?
- 401未经授权:由于证书无效,访问被拒绝
- 我可以更改FormsAuthentication cookie名称吗?
- MVC自定义validation:比较两个date
- “validation”和“validation”之间有什么区别?
- 什么是最好的Java电子邮件地址validation方法?
- 我怎样才能添加,删除或交换页面的jQueryvalidation规则?
- ValidateRequest =“false”在Asp.Net 4中不起作用
- 根据DropDownList的值dynamic启用或禁用RequiredFieldValidator