我試圖創建一個自動格式化信用卡號碼作爲用戶類型是在一個漂亮的信用卡號碼輸入字段下面是我有:信用卡號碼格式
# Whenever the credit card input changes, update its value.
$(".credit-card-number").on "input", ->
# retrieve the credit card number
creditCardNumber = $(this).val()
# remove everything that's not a number
creditCardNumber = creditCardNumber.replace(/[^\d]+/g, "")
# ensure the value isn't more than 16 characters long
creditCardNumber = creditCardNumber[0..15]
# break apart the value every four numbers
creditCardNumber = creditCardNumber.match(/.{1,4}/g)
# insert spaces in the value when the value isn't null
creditCardNumber = if creditCardNumber? then creditCardNumber.join(" ") else ""
# set the value
$(this).val(creditCardNumber)
這工作完全在下面的HTML:
<input class="credit-card-number" id="credit_card_number" name="credit_card_number" placeholder="Credit card number" type="text">
但是,如果我設定輸入的類型number
,每當我更新值和值包含空格,瀏覽器將值更改爲空字符串。有任何想法嗎?
是的,只要不要在數值中使用數字輸入。 – mekwall
爲什麼你需要將類型設置爲'number'而不是'text'? –
你可以使用正則表達式來檢查你的數字格式。由於本地化問題,我個人從不相信瀏覽器對數字和小數的要求 – sotn