作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Javascript 制作一个文本框,该文本框在文本框的开头包含一些只读文本,然后允许在只读文本之后进行编辑。我只需要在只读文本后允许 10 位数字,并且需要验证数字。以下是在文本框中设置只读的 Javascript 代码
var readOnlyLength = $('#field').val().length;
$('#output').text(readOnlyLength);enter code here
$('#field').on('keypress, keydown', function(event) {
var $field = $(this);
$('#output').text(event.which + '-' + this.selectionStart);
if ((event.which != 37 && (event.which != 39))
&& ((this.selectionStart < readOnlyLength)
|| ((this.selectionStart == readOnlyLength) && (event.which == 8)))) {
return false;
}
});
最佳答案
如果您正在寻找脚本解决方案,那么这里是纯 js 和 RegExp
:
var fixedText = function(textbox, label) {
var num = textbox.value.replace(/\D/g, ''); //non numeric
num = num.substr(0, 10); //max 10 digits
textbox.value = label + num;
};
<input type="text" onkeyup="fixedText(this, 'Postal Code: ')" autofocus='' value="Postal Code: " />
<input type="text" onkeyup="fixedText(this, 'Contact No: ')" value='Contact No: ' />
使用简单的 label
、input
和 script
:
var numeric = function(textbox) {
var num = textbox.value.replace(/\D/g, '');
num = num.substr(0, 10);
textbox.value = num;
};
label.partial,
input.partial {
border: 1px ridge grey;
margin-bottom: 3px;
}
label.partial {
border-right: none;
cursor: text;
}
input.partial {
border-left: none;
margin-left: -4px;
top: -1px;
position: relative;
}
<label for="PostalCode" class='partial'>Postal Code </label>
<input type="text" onkeyup="numeric(this)" autofocus='' id='PostalCode' class='partial' />
<br/>
<label for="ContactNo" class='partial'>Contact No </label>
<input type="text" onkeyup="numeric(this)" id='ContactNo' class='partial' />
关于Javascript 在文本框中的预定义文本后仅验证数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32688281/
我是一名优秀的程序员,十分优秀!