<input type="text" value="3" maxlength="3" style="width : 30px;text-align: right;" onKeyUp="value=(parseInt((value=value.replace(/\D/g,''))==''?'0':value,10))" />
代码分析:
1、onKeyUp 就是键盘松开后调用的事件。
2、/\D/g 这个就是我这里用的正则表达式。头尾的/符号表示这里面包的是正则表达式;最后一个g表示全文搜索;\D是[^0-9]的简写,表示非数字的意思(因为我们要把非数字换成'')。
3、value=value.replace(/\D/g,'')先用replace方法把非数字的字符替换成'',再赋值给当前text框的value属性。
4、(value=value.replace(/\D/g,''))==''?'0':value",判断替换掉非数字字符后的文本是否为空,为空则补0,不为空就是当前的值了。
5、最后调用parseInt(value,10)方法,把当前的value转成数字值,这么做是为了把类似012这样的字符前面的0去掉(测试经常挑这样的毛病,实在变态!)。这里特别要注意的是,使用parseInt方法的时候,一定要把value后的10这个参数传进去,否则像012这样的字符会被当作8进制的数字来处理的。
6、最后再把这个转换后的数字赋值给value就是了。
分享到:
相关推荐
### 正则表达式知识点详解:只能输入数字、小数点、负号 在实际的软件开发过程中,经常需要对用户输入的数据进行合法性验证,尤其是涉及到金额或数值型数据时,确保用户输入的是合法的数字格式显得尤为重要。本文将...
此外,对于更复杂的验证需求,例如限制输入的文本框只能输入数字,你可以创建一个函数,利用这些正则表达式来实现: ```javascript function validateNumber(input) { let regex = /^\d+(\.\d{1,3})?$/; // 可能...
因此,一个简单的手机号码正则表达式可能是`^1[3-9]\d{9}$`,这个表达式会匹配以1开头,第二位是3到9之间的数字,后面跟着9个任意数字的字符串。 在C#中,我们可以创建一个名为`PhoneNumberValidator`的类,该类有...
例如,在本例中,需要限制用户在文本输入框中只能输入有效的数字,且第一个字符不能是小数点,整个输入中只能包含一个小数点。为了实现这个功能,可以使用JavaScript编写相应的脚本来控制用户的输入。 在描述中提到...
结合整个正则表达式(^-[1-9]\d*$),它匹配一个以非零数字开头,后面可以跟任意数量的数字,但不能有非数字字符的负整数。例如,它会匹配"-12345",但不会匹配"-012"或者"-12a"。 为了在JavaScript中使用这个正则...
3. **数字输入限制**: ```javascript function onlyNum() { if (!((event.keyCode >= 48 && event.keyCode ) || (event.keyCode >= 96 && event.keyCode ))) { event.returnValue = false; } } ();"> ``` ...
例如,在某些应用场景下,我们需要确保文本框中只能输入数字和小数点,这类需求常见于金融、会计、科学计算等需要数值输入的场合。为实现这一功能,可以利用JavaScript的正则表达式来限制用户输入。 ### 正则表达式...
以上代码的实现机制就是通过在不同的事件触发时即时校验输入值,以确保用户只能输入符合要求的数字。如果输入不符合预设的正则表达式规则,文本框的值就会被重置为上一次有效输入的值,或者在特定条件下进行调整,如...
我们已经发现了,在正则表达式中所有的字母字符和数字都是按照字面意思与自身相匹配的.JavaScript的正则表达式还通过以反斜杠(\)开头的转义序列支持某些非 字母字符.例如,序列 "\n" 在字符串中匹配的是一个直接量换...
这部分用于匹配任何不以零开头的数字,它可以有一个正号或负号作为前缀。其中`[1-9]`确保了数字的第一位不是零,`\d*`匹配零个或多个数字,`(\.\d{1,2})?`表示数字后面可以跟一个小数点和一到两位数字,整个部分用`...
// 格式化限制数字文本框输入,只能数字或者两位小数 function format_input_num(obj) { // 清除"数字"和"."以外的字符 obj.value = obj.value.replace(/[^\d.]/g, ""); // 验证第一个字符是数字 obj.value = ...
7. 屏蔽特定关键词:检查输入值是否以指定的关键词(如“***”或“****”)开头,如果匹配,弹出警告并聚焦到输入框。 8. 两次输入密码是否相同:`onclick`事件中,比较两个密码输入框`input1`和`input2`的值,如果...
3. `<input type="number">`:这个标签创建一个数字输入字段,允许用户输入整数或浮点数。可以设置`min`和`max`属性限制可接受的数值范围。 4. `<input type="tel">`:电话号码输入字段,虽然浏览器不会执行严格的...
例如,如果我们只接受手机号码,可以这样设置`pattern="[1][3-9]\d{9}"`,这将确保输入的字符串以1开头,后面跟着9位数字。 3. **`title`属性**:这个属性可以用来提供额外的提示信息,当用户输入不符合`pattern`...
* isAccount(str) //判断用户名合法性(字母 数字式下划先组成且只能以字母开头,且长度最小为6位),合法返回true,否则返回false * getChineseNum(obstring) //取得字符串中中文字的个数 * isInteger(str) //判断...
在JavaScript中,正则表达式是处理文本匹配的强大工具。正则表达式可以用来识别具有特定格式的字符串,例如电子邮箱地址、URL或价格。...这对于处理数字输入,尤其是涉及货币等敏感信息的场景中尤为重要。
这不仅可以用于数字输入框的验证,还可以用于其他需要数字输入的场景。 #### 核心知识点解析 ### 1. 正则表达式的使用 正则表达式是一种强大的文本处理工具,可以用来匹配、查找和替换文本中的字符串。在...
[1-9]\\d*$":匹配一个可选的负号开头的整数,数字部分不以0开头。 - "^[1-9]\\d*$":匹配一个正整数,不包括0。 - "^-[1-9]\\d*$":匹配一个负整数,不包括0。 - "^[1-9]\\d*|0$":匹配一个正整数或0。 - "^-[1-9]\...
综上所述,通过结合Angular的数据绑定、事件绑定以及正则表达式的校验,可以有效实现对输入框输入金额的限制,确保用户输入的金额格式正确,既满足数字的要求,也满足小数点后保留两位的条件。开发者在实现时需要...