我想使用文字输入来表示表格中的一天,但我不知道如何很好地使用这种模式属性。也许我应该使用一些少于31的正则表达式?我也不知道如何制作一个。
它的外观如下:
<input type='text' name='d' size='2' maxlength='2' value='$d' pattern='[0-3]{1}[1-9]{1}' required>
我知道使用select或number会更容易,但我必须以文本形式执行此操作。
答案 0 :(得分:2)
是的!这是非常可能的。
您需要的正则表达式是function test(data) {
var image = 'Some other string';
var div = [
'<a href="/profile/' + data.message.name + '">',
'<img src="/images/profiles/' + (data.message.image || image) + '" alt="#"/>',
'</a>'
].join('');
alert(div);
}
test({
message: {
name: 'Test Name',
image: ''
}
});
基本上,它会接受任何文字:
如果您可以访问JavaScript&amp;你知道这个月,你可以动态地将模式改为
^([1-9]|[12][0-9]|3[01])$
,持续30天,或^([1-9]|[12][0-9]|30)$
2月非闰年或^([1-9]|1[0-9]|2[0-8])$
2月闰年。^([1-9]|1[0-9]|2[0-9])$
属性......很高兴知道!
答案 1 :(得分:1)
使用输入类型编号
<input type="number" min="1" max="31" />
答案 2 :(得分:1)
您可以使用JavaScript函数onchange
事件 -
<script>
function handleChange(input) {
if (input.value < 1) input.value = 1;
if (input.value > 31) input.value = 31;
}
</script>
所以在输入框onchange事件中调用javascript函数。
<input type="text" onchange="handleChange(this);" />