Javascript <;输入类型=“;文本”;最大长度=“;4”&燃气轮机;不应在maxlength中计算逗号和点
我有一个包含数字和特殊字符的输入字段,例如逗号和点 在计算字段的最大长度时,我想跳过特殊字符 我不想限制这个特殊的角色 预期输出应为:-1234(总长度:-4)Javascript <;输入类型=“;文本”;最大长度=“;4”&燃气轮机;不应在maxlength中计算逗号和点,javascript,html,angularjs,typescript,Javascript,Html,Angularjs,Typescript,我有一个包含数字和特殊字符的输入字段,例如逗号和点 在计算字段的最大长度时,我想跳过特殊字符 我不想限制这个特殊的角色 预期输出应为:-1234(总长度:-4) 用户名: 这应该通过javascript完成: var input = document.getElementById('myId'); input.addEventListener('keyup', function () { // Checking length of string ignoring all non-dig
用户名:
这应该通过javascript完成:
var input = document.getElementById('myId');
input.addEventListener('keyup', function () {
// Checking length of string ignoring all non-digit and non-letter characters
if (this.value.replace(/[^\d|[^a-zA-Z]]*/g, '').length == 3) {
console.log('stop and do whatever you need')
}
})
window.onload = function() {
var textInput = document.getElementById("myId");
textInput.oninput = function() {
var temp;
temp = this.value.replace(/[^\w\s]/gi,'');
if (temp.length > 3) {
alert("Invalid"); // Or other stuff you want to do
}
};
};
这应该通过javascript完成:
var input = document.getElementById('myId');
input.addEventListener('keyup', function () {
// Checking length of string ignoring all non-digit and non-letter characters
if (this.value.replace(/[^\d|[^a-zA-Z]]*/g, '').length == 3) {
console.log('stop and do whatever you need')
}
})
window.onload = function() {
var textInput = document.getElementById("myId");
textInput.oninput = function() {
var temp;
temp = this.value.replace(/[^\w\s]/gi,'');
if (temp.length > 3) {
alert("Invalid"); // Or other stuff you want to do
}
};
};
尝试添加以下javascript:
var input = document.getElementById('myId');
input.addEventListener('keyup', function () {
// Checking length of string ignoring all non-digit and non-letter characters
if (this.value.replace(/[^\d|[^a-zA-Z]]*/g, '').length == 3) {
console.log('stop and do whatever you need')
}
})
window.onload = function() {
var textInput = document.getElementById("myId");
textInput.oninput = function() {
var temp;
temp = this.value.replace(/[^\w\s]/gi,'');
if (temp.length > 3) {
alert("Invalid"); // Or other stuff you want to do
}
};
};
请注意,此代码实时检查输入请尝试添加此javascript:
var input = document.getElementById('myId');
input.addEventListener('keyup', function () {
// Checking length of string ignoring all non-digit and non-letter characters
if (this.value.replace(/[^\d|[^a-zA-Z]]*/g, '').length == 3) {
console.log('stop and do whatever you need')
}
})
window.onload = function() {
var textInput = document.getElementById("myId");
textInput.oninput = function() {
var temp;
temp = this.value.replace(/[^\w\s]/gi,'');
if (temp.length > 3) {
alert("Invalid"); // Or other stuff you want to do
}
};
};
请注意,此代码实时检查输入您可以尝试使用HTML5
模式
属性。而不是maxlength
键入pattern
并给它一些正则表达式。可以这样做:
<form action="/action_page.php">
Username: <input type="text" pattern="(?(?=^.\d{1,3},\d{1,3}$)^.{5}$|^.{4}$)" id="myId"/>
<input type="submit" value="Submit">
</form>
用户名:
您可以尝试使用HTML5模式
属性。而不是maxlength
键入pattern
并给它一些正则表达式。可以这样做:
<form action="/action_page.php">
Username: <input type="text" pattern="(?(?=^.\d{1,3},\d{1,3}$)^.{5}$|^.{4}$)" id="myId"/>
<input type="submit" value="Submit">
</form>
用户名:
u需要限制逗号,对吗?不,我不想限制逗号。我希望在输入逗号时,maxlength不应将逗号计算到长度中。当输入逗号时,使用Javascript增加maxlength属性的值。无论如何,如果你真的想允许1234作为输入值,那么maxlength=3是不够的。maxlength
计算一切,不管你想要什么,唯一的解决方法就是按照Artūrs和Yelle的建议使用javascript自己处理键,或者像李斯特先生所说的那样摆弄maxlength。您可以使用HTML5验证,但这只会标记不正确的条目,而不会阻止它们。您需要限制逗号,对吗?不,我不想限制逗号。我希望在输入逗号时,maxlength不应将逗号计算到长度中。当输入逗号时,使用Javascript增加maxlength属性的值。无论如何,如果你真的想允许1234作为输入值,那么maxlength=3是不够的。maxlength
计算一切,不管你想要什么,唯一的解决方法就是按照Artūrs和Yelle的建议使用javascript自己处理键,或者像李斯特先生所说的那样摆弄maxlength。您可以使用HTML5验证,但这只会标记不正确的条目,而不会阻止它们。此模式不起作用?是否可以检查模式属性值(?=^.\d{1,3}、{1,3}$)^.{5}$| ^.{4}$)不是有效的正则表达式:未捕获语法错误:无效正则表达式:/(?=^.\d{1,3}、{1,3}$)^.{5}$| ^.{4}$)/:无效组此模式不起作用?是否可以检查模式属性值(?=^.\d{1,3}、{1,3}$)^.{5}$| ^.{4}$)不是有效的正则表达式:未捕获语法错误:无效正则表达式:/(?=^.\d{1,3}、{1,3}$)^.{5}$| ^.{4}$)/:无效组