Javascript 如何检测两点之间输入的数字
我有非典型的问题。我需要检测在某些文本输入中键入的特定类型的数字/记录。我试图捕获的结构如下:Javascript 如何检测两点之间输入的数字,javascript,jquery,regex,Javascript,Jquery,Regex,我有非典型的问题。我需要检测在某些文本输入中键入的特定类型的数字/记录。我试图捕获的结构如下:.9.或.2.或.number.。因此,我有一些方法/尝试做到这一点,但没有一种方法不起作用: var target=input[type='text'] target.val() === '.' + /^[0-9]+$/ +'.' ? console.log('true') : console.log('false'); target.val() === '.' + parseInt(
.9.
或.2.
或.number.
。因此,我有一些方法/尝试做到这一点,但没有一种方法不起作用:
var target=input[type='text']代码>
target.val() === '.' + /^[0-9]+$/ +'.' ?
console.log('true') :
console.log('false');
target.val() === '.' + parseInt(10) +'.' ?
console.log('true') :
console.log('false');
target.val().indexOf('.'+ RegExp(/^[0-9]+$/) +'.') >=0 ?
console.log('true') :
console.log('false');
有人能帮忙吗 如果希望使用正则表达式,可以使用该方法
var target = '.123.'
console.log(/^\.\d+\.$/.test(target)) // true
正则表达式:
^ # the beginning of the string
\. # '.'
\d+ # digits (0-9) (1 or more times)
\. # '.'
$ # before an optional \n, and the end of the string
如果您希望使用正则表达式,可以使用该方法
var target = '.123.'
console.log(/^\.\d+\.$/.test(target)) // true
正则表达式:
^ # the beginning of the string
\. # '.'
\d+ # digits (0-9) (1 or more times)
\. # '.'
$ # before an optional \n, and the end of the string
一位数还是多位数?您不能添加正则表达式和类似的字符串,但可以使用构造函数构建动态正则表达式。有关如何使用它的详细信息,请参阅。虽然这可能是有效的JavaScript:var target=input[type='text']代码>,我怀疑它是否能达到预期效果。一位数还是多位数?您不能添加正则表达式和类似的字符串,但可以使用构造函数构建动态正则表达式。有关如何使用它的详细信息,请参阅。虽然这可能是有效的JavaScript:var target=input[type='text']
,我怀疑它是否能达到您期望的效果。$
如果使用了多行标志,则只在\n
之前匹配,而您没有使用多行标志。@gilly3无需在此处使用多行修饰符。对。您的代码注释显示“在可选\n之前”,但这并不准确,因为您没有使用多行标志。我并不想过于迂腐。$
如果使用了多行标志,则只匹配前面的\n
,而您没有使用多行标志。@gilly3无需在此处使用多行修饰符。对。您的代码注释显示“在可选\n之前”,但这并不准确,因为您没有使用多行标志。我不想太迂腐。