Regex 请帮助构建正则表达式

Regex 请帮助构建正则表达式,regex,Regex,我试图开发一种模式,但未能成功构建一个正则表达式来检查文本是否符合以下条件 它不应该从下面这样的事情开始 http:// http://www. http:// http://www. www. 一般的想法是不允许用户选择看起来像url的用户名 下面是我对不同模式的尝试,我尝试过,但这些都以某种方式失败了 <script type="text/javascript" language="javascript"> function va

我试图开发一种模式,但未能成功构建一个正则表达式来检查文本是否符合以下条件

它不应该从下面这样的事情开始

    http://
    http://www.
    http://
    http://www.
    www.
一般的想法是不允许用户选择看起来像url的用户名

下面是我对不同模式的尝试,我尝试过,但这些都以某种方式失败了

<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>

函数验证(名称){
var模式=/(ftp | http | https):\/\/(\w+:{0,1}\w*@)(\S+(:[0-9]+)?(\/\\\/([\w!:?+=&%@!\-\/])?/;
var模式=/^((http | https):\/\/)?[a-z0-9]+([-.]{1}[a-z0-9]+)[a-z]{2,5}(:[0-9]{1,5})(\/.)?$;
var模式=^([^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(名称);
警报(“\u测试为”+\u测试);
返回false;
}
非常感谢您的帮助


Zubair

这是您的模式
^((http(s)?:/(www.))|(www.)。。

你可以测试一下

我已经试过了

编辑:


是的,我也忘了避开圆点。使用
/^((http(s):\/\/(www\))|(www\)。*/

它可以简化为

://|www.
下面的例子是C#:


Regex用哪种语言?Javascript?请记住,并非所有正则表达式的实现都是相同的。第三个和第四个示例应该使用https?您可以将其分为两个逻辑组:
http://
www.
开始,这两个逻辑组可能都不会出现。Timothy Groote,我在javascriptshift66中需要它,因为此测试数据wwwdff.test.comasfsdf://将通过您的模式。
://|www.
//Pattern
string pattern = "://|www.";
//Execute the regex
Match match = Regex.Match(testInput, pattern);
//Test result 
if (match.Success)
   Console.WriteLine("It's an url!");