常用正则表达式(前端)

// 输入框只能输入数字和英文
handleChange = (e) => {
    const value = e.target.value;
    this.setState({value: value.replace(/[^a-zA-Z0-9]/g, '')}); // 如果想多一个-特殊符号末尾可以直接加(/[^a-zA-Z0-9-]/)
}

<Input onChange={this.handleChange} value={this.state.value} />

输入框只能输入字母和下划线

```jsx
import React, { useState } from 'react';

const MyInput = () => {
  const [inputValue, setInputValue] = useState('');

  const handleInputChange = (e) => {
    const value = e.target.value;
    const filteredValue = value.replace(/[^a-zA-Z_]/g, ''); // 过滤非字母和下划线字符

    setInputValue(filteredValue);
  };

  return (
    <input
      type="text"
      value={inputValue}
      onChange={handleInputChange}
    />
  );
};

export default MyInput;

// 输入框内只能输入数字
handleChange = (e) => {
    let value = e.target.value;
    value = value.replace(/\D/g, '');
    this.setState({value});
}


<input value={this.state.compId} onInput={this.handleChange} />

// 将所有的转义字符转成对应的特殊字符
const data = new DOMParser().parseFromString(contentData, 'text/html').body.textContent || '';

// 正则去除富文本内带标签的内容方法一
var str = "<div>这是一个<div>带有标签的</div>字符串</div>";
var reg = /<[^>]*>/g;
var result = str.replace(reg, "");

// 正则去除富文本内带标签的内容方法一
let str = '<div>123</div>'
let words = str.replace(/<[^<>]+>/g, "").replace(/&nbsp;/gi, ""); //这里是去除标签
let words = str.replace(/<[^<>]+>/g, "").replace(/&nbsp;/gi, "").replace(/\n/gi, '<br />'); // 这里是去除标签后可换行
words.replace(/\s/g, "") //这里是去除空格


// 正则去除<br />
let str = str.replace(/<br \/>/g, '');

// 获取html内含a标签的内容
const html = '<p>这是一段包含<a href="https://www.example.com">链接</a>的HTML文本。</p>';

// 定义正则表达式
const regex = /<a\b[^>]*>(.*?)<\/a>/g;

// 使用正则表达式进行匹配
let match;
while ((match = regex.exec(html)) !== null) {
  const anchorTag = match[0];
  const anchorText = match[1];
  console.log('匹配到的 <a> 标签:', anchorTag);
  console.log('匹配到的链接文本:', anchorText);
}

// 创建真实dom


const html = '<p>这是一段包含<a href="https://www.example.com">链接</a>的HTML文本。</p>';

// 创建一个临时的 div 元素
const tempDiv = document.createElement('div');
tempDiv.innerHTML = html;

// 获取所有的 <a> 标签
const anchorTags = tempDiv.getElementsByTagName('a');

// 遍历每个 <a> 标签并获取属性值
for (let i = 0; i < anchorTags.length; i++) {
  const anchorTag = anchorTags[i];
  const href = anchorTag.getAttribute('href');
  console.log('链接:', href);
}
let name = '{{渠道(美团开店宝)_变量}}';
let a = `${name}`; 将a所有含{{渠道(美团开店宝)_变量}}的值都替换成{{11_11}}如何实现, 使用前端正则表达式

// 
let name = '{{渠道(美团开店宝)_变量}}';
let a = `${name}`;

// 对name变量中的特殊字符进行转义
let escapedName = name.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');

// 使用动态生成的正则表达式替换字符串中的所有{{渠道(美团开店宝)_变量}}
let regex = new RegExp(escapedName, 'g');
let result = a.replace(regex, '{{11_11}}');



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值