Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript正则表达式特殊情况_Javascript_Regex - Fatal编程技术网

JavaScript正则表达式特殊情况

JavaScript正则表达式特殊情况,javascript,regex,Javascript,Regex,正在寻找关于regex for JS的帮助并添加更多字符。这就是它目前包括的内容(我认为): 所有字母数字字符 空间 撇号 句号(dot) 逗号 下划线和连字符 我现在的正则表达式如下: /^[\w-\.-\,\s-']+$/ 它的格式能更好吗?这是针对web表单上的文本字段的,我对当前声明的其他建议或潜在缺陷持开放态度 最后,我将如何添加$和&和%字符 检查我的正则表达式的JS是: function has_error(el, type) { var textReg = /^[

正在寻找关于regex for JS的帮助并添加更多字符。这就是它目前包括的内容(我认为):

  • 所有字母数字字符
  • 空间
  • 撇号
  • 句号(dot)
  • 逗号
  • 下划线和连字符
我现在的正则表达式如下:

/^[\w-\.-\,\s-']+$/
它的格式能更好吗?这是针对web表单上的
文本字段的,我对当前声明的其他建议或潜在缺陷持开放态度

最后,我将如何添加
$
&
%
字符

检查我的正则表达式的JS是:

function has_error(el, type) {

    var textReg = /^[\w-\.-\,\s-']+$/;

    if ( el.val() == '' || (type=='text' && !textReg.test(el.val())) ) {
        // apply error logic
        return true;
    } else {
        // clear error logic
        return false;
    }
}

注意,字符类中的破折号表示一个范围,这里不需要。将破折号放在起点或终点以避免出现这种情况。此外,无需避开标点符号:

/^[\w.,'\s-]+$/
添加更多字符很容易:

/^[\w.,'\s$%&-]+$/

请注意,
$
表示字符类中的文字
$
,而不是“字符串结束锚点”。

实际上,
'
在iOS上不起作用。有没有更新iOS Safari的正则表达式的想法?你说的“不工作”是什么意思?它和撇号不匹配吗?也许您的文本包含类似于
'''.''.'
的排版撇号?尝试复制并将它们添加到正则表达式中。我的功能是使用iOS撇号阻止表单提交。我会试着把它们加进去。