好吧,我尝试开发一种模式,但无法成功构建一个能够检查文本是否符合以下条件的正则表达式
它不应该以下面的内容开头
http://
http://www.
http://
http://www.
www.
一般的想法是不应该允许用户选择他的用户名,这似乎是一个网址。
这是我尝试的不同模式,但是这些模式以某种方式失败。
<script type="text/javascript" language="javascript">
function validate(name){
var pattern = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;
var pattern = /^((http|https):\/\/)?[a-z0-9]+([-.]{1}[a-z0-9]+).[a-z]{2,5}(:[0-9]{1,5})?(\/.)?$/;
var pattern = ^([^www\.]([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$;
var _test = pattern.test(name);
alert("_test is " + _test);
return false;
}
</scipt>
非常感谢任何帮助
祖拜尔
答案 0 :(得分:1)
可以简化为
://|www.
以下示例位于C#:
//Pattern
string pattern = "://|www.";
//Execute the regex
Match match = Regex.Match(testInput, pattern);
//Test result
if (match.Success)
Console.WriteLine("It's an url!");
答案 1 :(得分:0)
这是你的模式^((http(s)?://(www.)?)|(www.)).*
你可以测试它here。
function validate(name){
var pattern = /^((http(s)?:\/\/(www.)?)|(www.)).*/;
return pattern.test(name);
}
我尝试过这种方法。
修改强>
是的,我忘了逃避点。使用/^((http(s)?:\/\/(www\.)?)|(www\.)).*/