javascript - 如何计算用户在文本表单中输入的特定符号的数量
问题描述
抱歉,如果这似乎是一个新手问题,但我想知道是否有一种方法可以计算一个人输入的 URL 样式格式中特定符号的数量,例如点或斜线。
var regex = /https?:\/\/(www\.)?[A-Za-z=:.]{1,12}\.[A-Za-z]{1,6}\b([-A-Za-z0-9%_\+=?&//#]){1,250}/
var validx = regex.test(document.getElementById("webname").value);
这就是正则表达式以及我如何调用文本输入。因此,我想知道是否有一种方法可以计算用户输入的符号数量。
我以为我可以调用包含检查器的函数,但它不起作用
function dotcheck()
{
var dots = detect.webname.value;
if (dots.indexOf(".") > 0){}
我认为你可以看到/计算那里的点数量的功能
if (dotcheck = false){
messages.innerHTML = 'Safe';
我用来调用函数的 if 语句。
任何帮助将不胜感激,如果您还需要我提供任何其他帮助,请不要犹豫。
解决方案
a 中任何字符的计数String
只是返回多少匹配项String.match(RegExp)
。
由于您特别提到了句点,并且这些是特殊RegExp
符号,因此您不能只/./g
为您的RegExp
. 你必须用 来逃避它\
,像这样:
/\./g
附加到末尾的g
标志意味着获取所有匹配项,而不仅仅是第一个匹配项。
const string = 'https://stackoverflow.com/questions/62008355';
const slashes = /\//g;
const count = string.match(slashes).length;
console.log(count); // 4 slashes
const string = 'https://stackoverflow.com/questions/62008355';
const periods = /\./g;
const count = string.match(periods).length;
console.log(count); // 1 period
推荐阅读
- laravel - Laravel HasManyThrough 与相关表上的 Where 条件的关系
- reactjs - 反应:轮播第一张幻灯片转到最后一张幻灯片
- ios - 在 swift 中使用 xslt 转换 xml
- javascript - Discord 机器人正在玩游戏
- java - 为什么这里工作而这里不工作?
- arrays - 如何在 Swift 中使用 50 个并发线程在 4000 个值中读取/写入
- postgresql - 当特定值高于阈值时计算分钟/小时
- javascript - 一页上有许多可排序的内容,占位符区域会动态消失
- r - 将ggplot2 facet代码从直方图修改为QQplot
- r - 用多行突出显示ggplot中的一行