假如是14话,用户录入前就用14暗示用户可以输入14个字符),当用户开始输入数据时,就把*依次替换掉,录入几个字符就替换掉几个*,录入完后文本框中就只有用户输入的信息了。就这么一个功能,还是折磨了我好一会,哎,JS水平还是太菜了,于是发帖求助,后来在CSDN网友huangwenquan123的热情相助下,才算把这个问题搞定了,现在直接贴出代码,希望对有这方面需要的朋友有所帮助: 代码如下: [removed][removed] < 在JavaScript编程中,有时我们需要创建一种输入体验,其中文本框会预先显示一组星号(*),以提示用户可以输入特定数量的字符。这个功能在密码输入或者其他需要保密输入的场景中非常常见,它允许用户在不泄露实际输入内容的情况下知道他们还有多少字符可以输入。在给定的描述和代码中,我们看到一个实现这一功能的例子。 让我们理解代码的工作原理: 1. **引入jQuery库**:代码引用了jQuery库,这是一个流行的JavaScript库,提供了更简洁的DOM操作和事件处理方法。在这里,它是用来简化文本框的选择和事件绑定。 ```html <script type="text/javascript" src="http://demo.jb51.net/JSlib/jquery/jquery-1.3.2.min.js"></script> ``` 2. **使用jQuery的$(document).ready()**:这确保在DOM加载完成后才执行内部的JavaScript代码,避免了因元素未加载而导致的错误。 ```javascript $(document).ready(function(){ // 代码块 }); ``` 3. **绑定keydown事件**:通过`keydown`事件监听用户在指定文本框`#txtCustomsCode`中的输入行为。 ```javascript $("#txtCustomsCode").keydown(function(e){ // 事件处理函数 }); ``` 4. **检查按键码**:在`keydown`事件处理函数内,检查用户按下的是哪些键。这里允许输入的是字母(大写和小写)、数字(包括小键盘的数字)。 ```javascript var code = e.keyCode || e.which; if((code >= 96 && code <= 105) || (code >= 65 && code <= 90) || (code >= 48 && code <= 57)){ // 允许的字符 } ``` 5. **处理星号替换**:当用户输入合法字符时,获取已输入的字符,并用它们替换星号。首先获取输入的字符,然后使用正则表达式匹配并替换星号。 ```javascript var userkeydown = $(this).val().substr(14); var reg = /\*/; $(this).val($(this).val().replace(reg, userkeydown)); ``` 6. **限制输入长度**:确保文本框的总长度不超过14个字符,无论用户输入的是星号还是实际字符。 ```javascript $(this).val($(this).val().substr(0, 14)); ``` 7. **其他情况**:如果用户按下的不是允许的键,则直接清空超出14个字符的输入。 ```javascript else { $(this).val($(this).val().substr(0, 14)); } ``` 总结来说,这段代码实现了一个简单的文本框预填充星号并动态替换的机制。当用户开始输入时,星号会逐个被替换,同时限制最多只能输入14个字符。这样的设计有助于提高用户体验,特别是对于需要保密的输入,如密码或验证码,既提供了输入提示,又保护了信息安全。
- 粉丝: 6
- 资源: 961
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助