我一直在搜索Stack Overflow,但我无法正确回答我的问题。
如何允许用户输入一个数字或数字' K(千)'或者' M(百万)'?
我尝试过使用模式,RegExp等
这是否有正则表达式?我尝试使用^[0-9]*$
和^[0-9\K\M]*$
,但我不知道它是否是正确的表达式。
答案 0 :(得分:2)
这将有效
^(\d+(?:\.\d+)?)\s*([KMB])?$
JS代码
var re = /^(\d+(?:\.\d+)?)\s*([KMB])?$/;
var str = '1234.567K';
var result = str.match(re);
document.writeln(result + '<br>')
&#13;
<强> Ideone Demo 强>
答案 1 :(得分:1)
认为你的意思是,
document.write(/^\d+(?:\.\d+)?[KM]?$/.test('121K') + '<br/>');
document.write(/^\d+(?:\.\d+)?[KM]?$/.test('121.7M') + '<br/>');
document.write(/^\d+(?:\.\d+)?[KM]?$/.test('121.45') + '<br/>');
&#13;