用于防止HTML输入中的前导空格的正则表达式模式

时间:2018-06-14 05:09:09

标签: html regex

<input type="text" pattern="^[a-zA-Z1-9].*">

如何限制以下输入元素具有前导空格,即它应始终以除空格之外的字符开头。

This answer建议我使用pattern="^[a-zA-Z1-9].*",但似乎不起作用。

编辑:

仅当我将其包装在表单标签和提交按钮中时才有效。单击该按钮会触发错误。但我希望能够限制用户在输入框本身上输入空格。

3 个答案:

答案 0 :(得分:1)

要在没有表单标记的情况下实现此目的,我们可以使用这样的JavaScript实时输入过滤器:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" />
UPDATE parttable pt 
SET    pt.quantity = pt.quantity - (SELECT tt.qtyissue 
                                    FROM   transtable tt 
                                    WHERE  tt.transid = 1 
                                           AND tt.id = pt.id) 
WHERE  pt.id IN (SELECT tt1.id 
                 FROM   transtable tt1 
                 WHERE  tt1.transid = 1) 

答案 1 :(得分:0)

它确实有效,但如果您尝试发送表单,则会进行验证。

&#13;
&#13;
function myValidator(v){
  var input = document.getElementById('uglyWay')
  
  if(input){
    input.value = input.value.replace(/ /g, '')
  }
}
&#13;
<form>
<input id="uglyWay" oninput='myValidator()' type="text" pattern="^[a-zA-Z1-9].*">
<button type="submit">Send</button>
</form>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

以下正则表达式中提到的Works没有包装在表单标签内

&#13;
&#13;
input[type="text"]:valid{
background:green;
}
input[type="text"]:invalid{
background:red;
}
&#13;
<input type="text" pattern="^[a-zA-Z1-9].*">
&#13;
&#13;
&#13;