我是 Javascript 新手,我需要驗證輸入欄位。我只想輸入數字,不允許輸入字母或特殊字符。我需要在輸入欄位下方顯示錯誤訊息。輸入欄位的驗證規則是:
- 應該只有數字
- 數字應大于 1 且小于可用數量。我有包含三個輸入欄位的表單,可用數量,數量和投標價格。對數量欄位中輸入的值的驗證應大于 1 且小于可用數量,這樣才能正常作業。但我只需要使用 javascript 輸入數字。
我試過的是
<form method="post" action="/truckianBidSave/{{id}}" id="reviewForm">
<input type="hidden" name="_token" value="{{csrf_token()}}" />
<input type="hidden" name="user_name" value="{{auth_user().first_name}}" />
<!-- <div class="form-group row">
<label class="col-sm-4 col-form-label">Select Milege Gap: </label>
<div class="col-sm-8">
<select class="form-select" name="mileage" id="mileage" onchange="getOption()">
<option>Select </option>
{% for p in product_data %}
<option value="{{p.number_of_products}},{{p.number_of_products_sold}},{{p.mileage_gap}}">{{p.mileage_gap}}</option>
{% endfor %}
</select>
</div>
</div>-->
<div class="form-group row">
{% set total=0 %}
{% set sold=0 %}
{% for p in product_data %}
{% set total =total p.number_of_products %}
{% set sold=sold p.number_of_products_sold %}
{% endfor %}
{% set available=total-sold %}
<label for="available" class="col-sm-4 col-form-label">Available Quantity: </label>
<div class="col-sm-8">
<input type="text" class="form-control" id="available" readonly name="available_qty" value={{available}} />
</div>
</div>
<div class="form-group row">
<label for="qty" class="col-sm-4 col-form-label"> Quantity: </label>
<div class="col-sm-8">
<input type="text" id="qty" name="qty" class="form-control" oninput="checkInput(this);" required />
<p id="qty-msg">
</p>
</div>
</div>
<div class="form-group row">
<label for="inputBid" class="col-sm-4 col-form-label">Enter Bid Price</label>
<div class="col-sm-8">
<input type="text" class="form-control" id="inputBid" name="bid" oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*)\./g, '$1');"/>
</div>
</div>
<div class="form-group text-center">
<input type="submit" class="btn btn-primary" id="btn" name="send" value="Send" disabled="disabled">
</div>
</form>
Javascript代碼:
function checkInput(item)
{var available=document.getElementById("available");
var msg=document.getElementById("qty-msg");
if(parseInt(item.value)>parseInt(available.value) )
{
item.value='';
msg.innerHTML="* Value must be less than Availabe quantity " available.value ;
msg.style.color="red";
}
else if(parseInt(item.value)<1)
{
item.value='';
msg.innerHTML="* Value must be greater than 1" ;
msg.style.color="red";
}
else if('/^[A-Za-z] $/'.test(item.value))
{ alert('hi');
item.value='';
msg.innerHTML="* Only numbers allowed" ;
msg.style.color="red";
}
如何在使用 javascript 的輸入檔案中不允許使用字母和特殊字符。
uj5u.com熱心網友回復:
用這個代替你的模式
!(/^[0-9]{1,}$/.test(item.value))
如果該值包含字串,它將回傳 true,否則,它將回傳 false。
uj5u.com熱心網友回復:
您可以<input type="number">用于'qty'輸入。有關詳細資訊,請參閱https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/number。
一個 javascript 過濾器,如
document.getElementById('qty').addEventListener('keydown',
function(event){
if(!event.key.match(/^[0-9]$/)){
event.preventDefault();
}
}
);
從來都不是絕對安全的,也就是說,它不能在某些舊瀏覽器或移動瀏覽器上運行。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/359555.html
標籤:javascript html dom 输入 文本
