如何在字符串的第一个实例中删除破折号,无论用户是在模糊上键入还是粘贴?



我有一个字符串,它将接受以下内容:

这是模式:xxx-A-mmddyyyy-xxxxxx.

人员通过复制粘贴或手工阻塞输入值。我想做的,onBlur(),是创建一个函数,将删除第一个破折号在任何情况下。

我希望模式匹配是只允许上述内容的REGEX。结果将是:

xxxA-mmddyyyy-xxxxxx

差不多了。

这是使用DASH的REGEX模式,以及我希望它在剥离第一个破折号之后的样子:

public static readonly NUMBERWITHDASH = /^[0-9]{3}-[A-Z]-[0-9]{8}-[0-9]{6}$/;
public static readonly NUMBERNODASH = /^[0-9]{3}[A-Z]-[0-9]{8}-[0-9]{6}$/;

对于这个简单的练习,您不需要正则表达式:

let string = 'xxx-A-mmddyyyy-xxxxxx';
const index = 3;
if(string.charAt(index) === '-') {
string = string.slice(0,index) + string.slice(index+1);
}
console.log(string);

或者更简单:

let string = 'xxx-A-mmddyyyy-xxxxxx';
const index = 3;
if(string.charAt(index) === '-') {
string = string.replace('-', '');
}
console.log(string);

最新更新