相关疑难解决方法(0)

用于重音字符的具体Javascript正则表达式(变音符号)

我看过Stack Overflow(替换字符......呃,JavaScript如何不遵循关于RegExp的Unicode标准等)并且没有真正找到问题的具体答案:

How can JavaScript match for accented characters (those with diacritical marks)?

我强迫UI中的字段匹配格式:( last_name, first_name 最后[逗号空间]),我想提供对变音符号的支持,但显然在JavaScript中它比其他语言/平台要困难一些.

这是我的原始版本,直到我想添加变音支持:

/^[a-zA-Z]+,\s[a-zA-Z]+$/

目前我正在讨论增加支持的三种方法之一,所有这些我都经过测试和工作(至少在某种程度上,我真的不知道第二种方法的"范围"是什么).他们来了:

明确列出我想要接受为有效的所有重音字符(蹩脚和过于复杂):


var accentedCharacters = "àèìòùÀÈÌÒÙáéíóúýÁÉÍÓÚÝâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸçÇߨøÅ寿œ";
// Build the full regex
var regex = "^[a-zA-Z" + accentedCharacters + "]+,\\s[a-zA-Z" + accentedCharacters + "]+$";
// Create a RegExp from the string version
regexCompiled = new RegExp(regex);
// regexCompiled = /^[a-zA-ZàèìòùÀÈÌÒÙáéíóúýÁÉÍÓÚÝâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸçÇߨøÅ寿œ]+,\s[a-zA-ZàèìòùÀÈÌÒÙáéíóúýÁÉÍÓÚÝâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸçÇߨøÅ寿œ]+$/
Run Code Online (Sandbox Code Playgroud)
  • 这正确地匹配姓氏中的任何支持的重音字符的姓氏/名字accentedCharacters.

我的另一种方法是使用.字符类,以获得更简单的表达式:

var regex = /^.+,\s.+$/;
Run Code Online (Sandbox Code Playgroud)
  • 这几乎可以匹配任何东西,至少以下列形式:something, something.那我觉得好吧......

我刚发现的最后一种方法可能更简单...... …

javascript regex unicode

129
推荐指数
8
解决办法
9万
查看次数

如何从MySQL中的字符串中删除所有非字母数字字符?

我正在研究比较字符串的例程,但为了提高效率,我需要删除所有不是字母或数字的字符.

我现在正在使用多种REPLACE功能,但也许有更快更好的解决方案?

regex mysql string alphanumeric

56
推荐指数
7
解决办法
9万
查看次数

标签 统计

regex ×2

alphanumeric ×1

javascript ×1

mysql ×1

string ×1

unicode ×1