借助html模式限制输入字符串

时间:2015-09-07 09:44:00

标签: regex html5

如果用户输入包含&x; xyz.co.in&#39;我想添加禁止用户提交表单在输入字段中,但这应该用html5模式完成,我不想用jquery或javacript来做。任何人都可以帮助我了解它应该是什么样的模式,我的意思是<input type='text' pattern='<some pattern goes here>'/>

中的模式字段应该包含什么

这样用户可以在输入字段中插入除xyz.co.in之外的任何内容。

更新

这是我到目前为止所做的:

&#13;
&#13;
<!doctype html>
<html>
    <head>
        <title>disallow a pattern</title>
    </head>
    <body>
        <form action="" >
            <input type="text" pattern="^(?!.*\bxyz\.co\.in\b)" />
            <input type="submit" name="Go1" value="Go"/>
        </form>
    </body>
</html>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:3)

禁止将一些字符串放在较大的字符串中,可以使用negative look-ahead锚定在开头。

以下示例禁止输入字符串中的xyz.co.in

^(?!.*xyz\.co\.in).*

请参阅demo

如果您想在输入字符串add word boundaries \b around the word中允许mmmxyz.co.inmmmm

请注意,pattern属性值默认为固定,因此可能不需要^,并且.*是确保整个字符串匹配所必需的。

<强>更新

要禁止输入xyz.co.in并允许任何其他输入,请使用

^(?!xyz\.co\.in$).*