URL输入<input type="url">
具有pattern
属性,该属性使我们可以指定JavaScript正则表达式来验证输入值。
在此MDN示例中,提供的模式为pattern="https://.*"
,期望使用https
协议。这意味着http
值将不被接受。
<label for="url">Enter an https:// URL:</label>
<input type="url" name="url" id="url"
placeholder="https://example.com"
pattern="https://.*" size="30"
required>
不是所有的URL都是HTTPS
,所以这个选项太严格了吗?
在说明pattern attribute的文档中说:
如果指定的模式未指定或无效,则无常规 将应用表达式,并且将完全忽略此属性。
我认为这意味着,如果不包括pattern属性,那么www.example.com
的值将被接受。但是,似乎并非如此。
问题:
我们如何使用url输入来灵活处理http
和https
值?而且,如果用户能够在不指定协议的情况下简单地输入www.example.com
,似乎会更简单。
答案 0 :(得分:1)
将pattern="https?://.*"
添加到模式:?
。 s
使var abc = "Hello";
为可选。