我需要一个用于输入的货币掩码,问题是我不能在我的应用程序上使用 jquery。
例如,我如何使用正则表达式'on key up'来做到这一点?
这是我的代码:
<tr>
<td>
money:
<input type="text" class="money" maxlength="22" id="money" name="money">
</td>
</tr>
我看起来像的格式00.000,00
我需要一个用于输入的货币掩码,问题是我不能在我的应用程序上使用 jquery。
例如,我如何使用正则表达式'on key up'来做到这一点?
这是我的代码:
<tr>
<td>
money:
<input type="text" class="money" maxlength="22" id="money" name="money">
</td>
</tr>
我看起来像的格式00.000,00
由于您没有提供格式,因此无法直接回答您...
在字符串上测试正则表达式的 JavaScript 方法是:
function regexmoney(){
var patt=new RegExp(pattern,modifiers);
var string = document.getElementById('money').value;
var result = patt.test(string);//Returns true/false
if(!result){
var charArray=string.split();
//Iterate through the array and arrange the chars as
//you see fit (returning moneyresult)
document.getElementById('money').value = moneyresult;
}
}
然后是 HTML:
<tr>
<td>
money:
<input type="text" onkeyup="regexmoney()" class="money" maxlength="22" id="money" name="money">
</td>
</tr>
并生成正则表达式http://txt2re.com/
希望这可以帮助...
尝试这样的事情
尝试在输入文本时验证文本存在问题,可以通过此http://jsfiddle.net/denomales/dgeH2/进行说明。如果当前字符串匹配或不匹配,则更新文本字段将直接显示在下方。
^[0-9]{1,3}(?:\.[0-9]{3})*(?:\,[0-9]{2})?$
将按照评论中的要求以 00.000,00 格式匹配货币^[0-9]{1,3}(?:\,[0-9]{3})*(?:\.[0-9]{2})?$
将匹配格式为 00,000.00 的货币