十进制数正则表达式,其中十进制后仅一位

时间:2018-09-26 17:00:00

标签: regex

如何更新表达式以仅允许小数点第十位

class AddMembersReferencesToProject < ActiveRecord::Migration[5.2]
  def change
    add_reference :projects, :members
    add_foreign_key :projects, :users, column: :members_id, primary_key: :id
  end
end

像期望的输入一样

    <form:input path="mark" oninput="this.value = this.value.replace(/[^0-9\.]/g, '')

2 个答案:

答案 0 :(得分:3)

您可以使用toFixed()

var number = 1.2345
console.log(number.toFixed(1))

或者,如果您真的想要正则表达式,则可以使用以下方法。它匹配任意数量的数字,后跟一个十进制,然后是另一个数字,然后捕获其后的任何数字。

var regex = /(\d+\.\d)(\d+)/
var one = "1.25"
var two = "1.2"
var three = "1"
var four = "12.25435345"
console.log(one.replace(regex, '$1'))
console.log(two.replace(regex, '$1'))
console.log(three.replace(regex, '$1'))
console.log(four.replace(regex, '$1'))

答案 1 :(得分:1)

该数字应与小数点后的小数点后最多一位数字匹配

/([0-9]+(\.\d)?)/g

var number = "1.2345"
var number2 = "45"
var number3 = "1.0"
console.log(number.match(/([0-9]+(\.\d)?)/g)[0])
console.log(number2.match(/([0-9]+(\.\d)?)/g)[0])
console.log(number3.match(/([0-9]+(\.\d)?)/g)[0])

demo