RubyとJavaScriptの正規表現がされています異なる機能を持つ異なるエンジンによって解析され、実行されます。このため、RubyとJavaScriptの正規表現には、微妙な相違があり、若干互換性がありません。彼らが直接翻訳していないことに気づいていれば、JavaScriptで簡単なRubyの正規表現を表現することができます。
がここにwhat client side validations doesです:
class Regexp
def to_javascript
Regexp.new(inspect.sub('\\A','^').sub('\\Z','$').sub('\\z','$').sub(/^\//,'').sub(/\/[a-z]*$/,'').gsub(/\(\?#.+\)/, '').gsub(/\(\?-\w+:/,'('), self.options).inspect
end
end
最近addition of the routes inspector to railsは、おそらくより良い、それは猿のパッチ適用を避けるよう、a similar approachを取ります
def json_regexp(regexp)
str = regexp.inspect.
sub('\\A' , '^').
sub('\\Z' , '$').
sub('\\z' , '$').
sub(/^\// , '').
sub(/\/[a-z]*$/ , '').
gsub(/\(\?#.+\)/ , '').
gsub(/\(\?-\w+:/ , '(').
gsub(/\s/ , '')
Regexp.new(str).source
end
を次に、あなたのjavascriptのコードにこれらを挿入するために、のようなものを使用します。
var regexp = #{/^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i.to_javascript};
この質問の関連検索結果[こちらをご覧ください](https://www.google.com/#hl=en&safe=active&sclient=psy-ab&q=(%7Ctranslateに変換)+ ruby + regex + to + javascript&oq =(変換%7Ctranslate)+ ruby +正規表現+ to + javascript&gs_l = serp.3 ... 6611.13840.0.14133.12.0.0.0.0.123.1024.9j3.12.0.les%3B..0.0 ... 1c.1.4。 psy-ab.OIu4b055si4&pbx = 1&bav = on.2、または.r_gc.r_pw.r_cp.r_qf。&fp = 50b26647ad5972f8&biw = 1366&bih = 639)。 –