Javascript Js,如何忽略在文本框中贡献文本长度的符号?
我的目标是统计文本框中不是符号的文本。例如,如果用户键入Javascript Js,如何忽略在文本框中贡献文本长度的符号?,javascript,html,Javascript,Html,我的目标是统计文本框中不是符号的文本。例如,如果用户键入email\u ex\u 3/2@mail.com文本的原始长度为21,但我的目标是忽略这些符号,使长度变为16 我所能想到的就是使用for循环来检查这些符号,但我认为这非常可怕 JS function test() { alert(document.getElementById("firstText").value.length); } HTML <input type="text" id="firstText" />
email\u ex\u 3/2@mail.com
文本的原始长度为21,但我的目标是忽略这些符号,使长度变为16
我所能想到的就是使用for循环来检查这些符号,但我认为这非常可怕
JS
function test() {
alert(document.getElementById("firstText").value.length);
}
HTML
<input type="text" id="firstText" />
<button onclick="test()">Submit</button>
提交
您可以使用正则表达式将所有非单词字符替换为空字符串,并检查结果的长度:
const getLen=str=>str.replace(/[^A-Za-z0-9]/g')。长度;
控制台日志(getLen('email_exu_3/2@mail.com'));
您可以使用正则表达式将所有非单词字符替换为空字符串,并检查结果的长度
:
const getLen=str=>str.replace(/[^A-Za-z0-9]/g')。长度;
控制台日志(getLen('email_exu_3/2@mail.com'));
通过将正则表达式作为第二个参数传递,可以使用replace
方法
功能测试(){
警报(document.getElementById(“firstText”).value.replace(/[^a-zA-Z 0-9]+//g,”).length);
}
Submit
通过将正则表达式作为第二个参数传递,可以使用replace
方法
功能测试(){
警报(document.getElementById(“firstText”).value.replace(/[^a-zA-Z 0-9]+//g,”).length);
}
提交
您可以这样做
function test()
{
alert(document.getElementById("firstText").value.replace(/[\W_]+/g, "").length);
}
(/[\W_])排除所有非字母数字字符和/g表示所有您可以这样做
function test()
{
alert(document.getElementById("firstText").value.replace(/[\W_]+/g, "").length);
}
(/[\W_])排除所有非字母数字字符和/g来表示所有那么您想计算字母数字字符吗?只计算单词和数字,所以您需要将(/[^A-Za-z0-9]/g,”)
放在的前面。长度
。哦,天哪,这很好用!有没有关于你提到的这个字符/[^A-Za-z0-9]/g
的文档?那么你想数一数字母数字字符吗?只数一数单词和数字,所以你要把放进去。在前面替换(/[^A-Za-z0-9]/g,”)
。长度
。哦,天哪,这很好用!有没有关于你提到的这个字符/[^A-Za-z0-9]/g
的文档?这个答案也有效,有没有关于你提到的这个字符/[^A-z0-9]/gi
的文档?这个答案也有效,有没有关于这个字符/[^A-z0-9]的文档/gi
你也提到了这些作品,但我正在寻找一个更简单的version@learnprogramming,simples版本将使用replace
方法。这同样有效,但我正在寻找一种更简单的方法version@learnprogramming,simples版本将使用replace
方法。