小编Jam*_*mex的帖子

使用变量作为模式的正则表达式的javascript语法

我有一个带动态数值的变量patt

var patt = "%"+number+":";
Run Code Online (Sandbox Code Playgroud)

在test()方法中使用它的正则表达式语法是什么?

我一直在使用这种格式

var patt=/testing/g;
var found = patt.test(textinput);
Run Code Online (Sandbox Code Playgroud)

TIA

javascript regex

25
推荐指数
3
解决办法
2万
查看次数

用于删除,箭头和转义键的正则表达式模式

我正在编写一个javascript代码来限制可以输入文本框的密钥.

function keyRestricted(e) {
    var keypressed;
    var keychar;
    var keycheck;
    // IE - keyCode
    // Netscape/Firefox/Opera - which
    keypressed = e.keyCode || e.which;
    keychar = String.fromCharCode(keypressed);
    //alert(keychar);
    keycheck = /[a-zA-Z0-9\b]/;
    return keycheck.test(keychar);
} //keyrestricted
Run Code Online (Sandbox Code Playgroud)

我的正则表达式现在/[a-zA-Z0-9\b]/,它允许字母数字和退格.我想允许删除,L/R箭头和转义键在Firefox(3.6)中工作.

我不确定这些键的符号是什么.

在ie8中,即使从正则表达式中排除\ e开关,转义键(和del /箭头)仍处于活动状态,按下时,它会重置/清空文本框.

在FF中,我将转义放在表达式中/[a-zA-Z0-9\b\e]/,但它似乎对firefox不起作用,即当按下转义键时,它不会重置/清空文本框.

正则表达式的有效符号是什么,允许使用字母数字,L/R箭头,删除,转义?

另外,这个翻译是[a-zA-Z0-9\-\_]什么?它的意思是字母数字和连字符.但是连字符前面的斜线是什么,因为连字符不需要斜线?什么是\_for,因为下划线与表达式不匹配?

TIA

编辑

使用nnnnn建议的密钥代码的原因对我来说不适用(对于其他人?)是因为65-90的密钥代码是大写字母,即使有些网站确实声称这些密钥代码适用于大写和大写字母.

这个http://www.lookuptables.com/网站显示小写字母是97-122.不幸的是,这个范围与一些字符有一些未映射的重叠.例如,\字符被列为具有220个键码.但我的过滤器去激活密钥代码> 122仍然允许\通过.还有其他例子.

我使用笔记本电脑键盘和外接全尺寸键盘对此进行了测试.

编辑2

我将正则表达式和keycode参数合并到一个函数中.该函数原则上起作用,但由于疯狂的键码冲突,它不适用于%符号.它需要onkeydown和onkeypress来捕获所有键(%键除外).请参阅我在此讨论javascript正则表达式以获取关键事件输入验证疑难解答帮助

<head>
<script type="text/javascript">
function keyRestricted(evt) {
    var theEvent = evt || window.event;
    var key = theEvent.keyCode || …
Run Code Online (Sandbox Code Playgroud)

javascript regex

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

css类选择器,用于选择div中的文本

我有一个带有类名"test"的div.类"test"有一个光标指针分配给它.该类还具有200px的固定宽度.div内部的文本长度短于div的宽度.当鼠标放在div的空白部分时,我不希望出现该点.

有没有办法我可以将css指针分配给div内的文本,而不将文本包装在另一个<span>标签内.我只是不想回去并将span标记添加到每个div并重写javascript.

我在想像这个伪css代码

.test.text {
  cursor:pointer;
}
Run Code Online (Sandbox Code Playgroud)

html css css-selectors

7
推荐指数
1
解决办法
4万
查看次数

jquery - 对循环创建的jquery对象进行分组或连接,以便只使用appendTo一次

我有一个for循环来生成一行divs,我的代码是

for(j=0; j<7; j++) {
   $('<div/>', {
     id: 'unique',
     html: 'whatever'
}).appendTo('#container');
Run Code Online (Sandbox Code Playgroud)

这段代码似乎为每次迭代寻找#container并为它添加一个新的div.

如何编写代码以便我可以先创建所有div然后一次性附加到容器中?抱歉,我尝试搜索concatenate/group/add jquery对象等关键字,但似乎没有正确的搜索结果.

TIA

jquery for-loop concatenation

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

php,如何在保持键/值对的同时混淆/随机化关联数组的顺序

什么是在保持键/值对的同时随机化关联数组的php函数.我并不是要随机选择一个键值对,而是实际更改数组(类似于uasort函数,但不是按顺序).

TIA

例:

original array
(
    [a] => 4
    [b] => 8
    [c] => -1
    [d] => -9
    [e] => 2
    [f] => 5
    [g] => 3
    [h] => -4
)

random ordered array
(

[d] => -9
[a] => 4
[b] => 8
[c] => -1
[h] => -4   
[e] => 2
[g] => 3
[h] => -4
[f] => 5
)
Run Code Online (Sandbox Code Playgroud)

编辑2种解决方案之间的比

$start = microtime(true);
$array = array('a' => 4, 'b' => 8, 'c' => -1, 'd' => …
Run Code Online (Sandbox Code Playgroud)

php associative-array

3
推荐指数
2
解决办法
6139
查看次数

如何只获取数组中第一个匹配的值

编辑:我想问一下获得第一场比赛或第一场比赛的最佳/最快方式是什么.

我有一个阵列

$arr = ('abc', 'ded', 'kjld', 'abr', 'cdfd');
Run Code Online (Sandbox Code Playgroud)

我首先想要shuffle这个数组,然后只检索与模式匹配的第一个值/ab/.因此,返回的值可以是abc或abr.

我看了看preg_grep,但它将返回所有比赛的数组.当然,我可以只检索结果数组的第一个值,但这很浪费,需要额外的数组操作步骤.是否有另一个函数或preg_grep开关指定仅返回第一个匹配的值(或前5个匹配的值).我已经看过preg_matchpreg_search,但他们似乎不给我想要的东西.

php arrays pattern-matching

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

responseText包含额外的空白字符(新行,换行符),如何防止和删除它们?

我有一个调用php文件的ajax脚本.

php文件回显"是"或"否",我想用字符串进行逻辑比较.

在javascript中,我想比较responseText中的字符串,看它是否= ="是"(或"否").但比较失败了.

所以我做了警告responseText,它确实显示"是"(或"否")作为字符串.但我在这里读到,responseText可能包含隐藏的空白字符,所以我做了responseText的字符串长度,它表明字符串长度比它应该的长4个字符.所以我转发了responseText警报(escape(responseText)),它显示我在responseText字符串的末尾隐藏了%0A和%0D(换行符和换行符).

我读到这些字符是由php添加的,但我也读到不同的php版本/服务器之间的额外字符是不同的.

如何在不使用正则表达式的情况下防止这些额外的空格,因为正则表达式可能会删除有意的空格?

请不要建议使用jquery或mootools作为答案.

TIA

javascript php ajax responsetext

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

如何退出if语句并继续执行else

这是一个长镜头问题,但是如果在if块中发生错误,在php中有一种方法可以退出"if"语句并继续执行"else"语句吗?

if ($condition == "good")
{
//do method one

//error occurs during method one, need to exit and continue to else 

}

else 
{
//do method two
}
Run Code Online (Sandbox Code Playgroud)

当然可以在第一个if内部进行嵌套,但这看起来很hacky.

TIA

php if-statement

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

当使用'this'点击页面时jquery获取元素id不起作用

我想在用户单击页面时获取页面上任何元素的 id。这里有几篇文章显示使用“this”有效,但我的代码不适用于“this”。返回的 id 未定义。但我使用“事件”技术并且它有效。

有人可以解释这些差异吗?

$(function(){

//document or 'body' tags both don't work

$('body').click(function(){

    //var id = event.target.id;
    var id=$(this).attr('id');
    alert (id);
//returned undefined


});

      });
Run Code Online (Sandbox Code Playgroud)

这段代码有效

$(function(){

$('body').click(function(event){

    var id = event.target.id;
    //var id=$(this).attr('id');
    alert (id);



});});
Run Code Online (Sandbox Code Playgroud)

javascript jquery

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