小编Iva*_*van的帖子

Javascript正则表达式查找基本URL

我在JS中使用这个正则表达式疯了:

var patt1=/^http(s)?:\/\/[a-z0-9-]+(.[a-z0-9-]+)*?(:[0-9]+)?(\/)?$/i;
Run Code Online (Sandbox Code Playgroud)

如果我给出一个像"http://www.eitb.com/servicios/concursos/516522/"这样的输入字符串这个正则表达式,它就会返回NULL,因为在基本URL之后有一个"文件夹".它适用于PHP,但不适用于Javascript,就像在这个脚本中一样:

<script type="text/javascript">
var str="http://www.eitb.com/servicios/concursos/516522/"; 
var patt1=/^http(s)?:\/\/[a-z0-9-]+(.[a-z0-9-]+)*?(:[0-9]+)?(\/)?$/i;
document.write(str.match(patt1));
</script>
Run Code Online (Sandbox Code Playgroud)

它回来了

http://www.eitb.com/servicios/concursos/516522/,,/516522,,/ 
Run Code Online (Sandbox Code Playgroud)

问题是:为什么它不起作用?如何使它工作?

我的想法是在另一个函数中实现此正则表达式,以便在传递的URL格式不正确时获取NULL:

http://www.eitb.com/ - >正确 http://www.eitb.com/something - >不正确

谢谢

javascript regex url

1
推荐指数
2
解决办法
4119
查看次数

结果之间的按位OR

我想知道是否可以在MySQL查询中进行按位OR.我有一个查询:

SELECT `value` FROM `table` WHERE `code`='4'
Run Code Online (Sandbox Code Playgroud)

它返回一个值数组,但我想要一个唯一值,其值为所有值的按位 OR.可以从MySQL或我应该委托给PHP吗?

即上面的查询返回此值列表:

value
-----
1
5
4
2
7
8
Run Code Online (Sandbox Code Playgroud)

我希望结果是这些值1的OR 5 | 4 | 2 | 7 | 8 = 15

mysql bitwise-or

1
推荐指数
1
解决办法
181
查看次数

是否可以模拟一个没有?

请看一下这段代码:

<span class="something">
    <label>test1</label><br/>
    <label>test2</label><br/>
    <label>test3</label>
</span>
Run Code Online (Sandbox Code Playgroud)

这将创建一个垂直的标签列表.没有<br>使用CSS 的标签可以做到这一点吗?可以使用此HTML代码显示相同的垂直对齐标签列表吗?:

<span class="something">
    <label>test1</label>
    <label>test2</label>
    <label>test3</label>
</span>
Run Code Online (Sandbox Code Playgroud)

css

1
推荐指数
1
解决办法
134
查看次数

为什么这个PHP函数"忘记"参数?

我已经完成了将数组转换为URL的函数实现.它似乎是正确的,事实上,它在很多情况下都能很好地工作,除非我传递一个值为0的数组值.这是功能:

function strtourl($arr, $entity = true, $prefix = '') {
    $params = array();
    foreach ($arr as $k => $v)
        if ($v) {
            $params[] = is_array($v) ? strtourl($v, $entity, $prefix ? $prefix.'['.$k.']' : $k) :
                        sprintf($prefix ? $prefix.'[%s]' : '%s', urlencode($k)).'='.urlencode($v);
        }
    return implode($entity ? '&amp;' : '&', $params);
}
Run Code Online (Sandbox Code Playgroud)

这是我正在使用的一个例子:

$array = array(
    'type' => 0,
    'content' => array(
        'msg_id'    => 'XSS120',
        'source'    => 0,
        'dest'      => 4,
        'type'      => 0,
        'msg'       => 'message'
    )
);
Run Code Online (Sandbox Code Playgroud)

它返回此字符串:

content[msg_id]=XSS120&content[dest]=4&content[msg]=message
Run Code Online (Sandbox Code Playgroud)

而不是这个:

type=0&content[msg_id]=XSS120&content[source]=0&content[dest]=4&content[type]=0&content[msg]=message …
Run Code Online (Sandbox Code Playgroud)

php

0
推荐指数
1
解决办法
102
查看次数

为什么jquery .val()函数没有设置实际值?

我使用此函数来检查属性的存在:

var hasAttribute = function(el, attr) {
    if ("hasAttribute" in el) {
        return el.attributes[attr] != null;
    }
    else if ("outerHTML" in el) {
        return (el.outerHTML
                   .replace(el.innerHTML, "")
                   .indexOf(" " + attr + "=") > -1);
    }
};
Run Code Online (Sandbox Code Playgroud)

问题是当我使用设置输入值时.val(x),如果我使用.val()但是hasAttribute函数无法检测到它,我可以得到该值.这个jsfiddle显示了问题(我预计第一个警报说"输入有一个值",第二个显示它,但在Chrome中至少第一个警报说"输入需要一个值").

如何.val(x)按预期工作?(或者如何hasAttribute检测这些值)

javascript jquery

-1
推荐指数
1
解决办法
1992
查看次数

标签 统计

javascript ×2

bitwise-or ×1

css ×1

jquery ×1

mysql ×1

php ×1

regex ×1

url ×1