简体   繁体   English

将PHP函数转换为JavaScript

[英]Convert PHP Function to JavaScript

<?php
function toconv(string)
{
    $gogo = array("a" => "b","cd" => "e");
    $string = str_replace(
        array_keys( $gogo ),
        array_values( $gogo ),
        $string
    );
    return $string;
}
?>

How can I implement that in JavaScript? 如何在JavaScript中实现呢?

And to make it in a way, where you can do it directly from an array: 并以某种方式使其可以直接从数组中进行:

<script type="text/javascript">
function toconv(string){
    var gogo = {"a":"b", "cd":"e"}, reg;
    for(x in gogo) {
        reg = new RegExp(x, "g");
        string.replace(x, gogo[x]);
    }
    return string;
}
</script>

String.replace() in Javascript receives regexes instead of strings and here's a translation. Javascript中的String.replace()接收正则表达式而不是字符串,这是一个翻译。 You need to append the g modifier to the regex to replace all occurrences instead of only the first one. 您需要将g修饰符附加到正则表达式以替换所有出现的内容,而不是仅替换第一个出现的内容。

<script>
function toconv(str) {
    replacements = ['b','e'];
    regexes = [/a/g,/cd/g];

    for (i=0; i < regexes.length; i++) {
       str = str.replace(regexes[i],replacements[i]);
    }
    return str;
}

alert(toconv('acdacd'));
alert(toconv('foobar'));
</script>

Convert PHP Function to JavaScript 将PHP函数转换为JavaScript

if (preg_match('/0/', $check) || preg_match('/1/', $check) || preg_match('/2/', $check) || preg_match('/3/', $check) || preg_match('/4/', $check) || preg_match('/5/', $check) || preg_match('/6/', $check) || preg_match('/7/', $check) || preg_match('/8/', $check) || preg_match('/9/', $check))
{
    exception("personal info not allowed");
    redirect(base_url() . 'edit_profile');
}
else if ((preg_match("~\b@\b~",$check)) || (preg_match("~\b.net\b~",$check)) || (preg_match("~\b.com\b~",$check)) || (preg_match("~\b@\b~",$check)) || (preg_match("~\b.edu\b~",$check)) || (preg_match("~\b.gov\b~",$check)))
{
    exception("personal info not allowed");
    redirect(base_url() . 'edit_profile');
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM