这是一个简单的问题所以我想要一个简单的答案。我想检查文本框中的用户输入..如果第一个字符是0(零),它将被替换为+63。但它不应该替换“字符串”中的所有零。我搜索过网站,但大部分是关于替换所有的事件。我希望得到一个简短的答案。非常感谢!
答案 0 :(得分:9)
JavaScript解决方案
var str = "000123";
var foo = str.replace(/^0/,"+63");
alert(foo);
基本正则表达式
PHP解决方案
$string = '000123';
$pattern = '/^0/';
$replacement = '+63';
echo preg_replace($pattern, $replacement, $string);
答案 1 :(得分:8)
在PHP中:
<?php
$ptn = "/^0/"; // Regex
$str = "01234"; //Your input, perhaps $_POST['textbox'] or whatever
$rpltxt = "+63"; // Replacement string
echo preg_replace($ptn, $rpltxt, $str);
?>
会回应:
+631234
当然,您需要验证输入和所有内容,但这就是在提交后如何替换它。
答案 2 :(得分:2)
这样的事情:
if(oldStr.charAt(0) == "0") {
newStr= oldStr.replace(oldStr.charAt(0), "+63");
}
Btw的JS解决方案
答案 3 :(得分:0)
如果我理解了一切,这应该适合你:
<input type="text" id="txt" value="0 is the score" />
使用Javascript:
var str = document.getElementById("txt").value;
if(str[0] === '0') {
document.getElementById("txt").value = "63" + str.substring(1);
}
参见演示:http://jsfiddle.net/rZ3vm/
另请参阅javascript中的string functions和substring函数。
答案 4 :(得分:0)
var str = "000123";
var foo = str.charAt(0).replace("0","+63") + str.substr(1);
alert(foo);
答案 5 :(得分:0)
有点像这样......
var string = "0230234";
var newString = string.indexOf('0') == 0 ? string.substring(1) : string;
newString = "+63"+newString
alert(newString); // +63230234
答案 6 :(得分:0)
str=(str.charAt(0)=='0')?(str.replace(str.charAt(0),"+63")):str;
答案 7 :(得分:0)
如果由于性能开销,我建议在代码中避免使用Regex。如果没有正则表达式,很容易在PHP中 :
if($str[0] == "0"){
$str = substr_replace($str,'+63',0,1);
}
答案 8 :(得分:0)
$numbers='012345';
1.首先检查第一个数字是否为零,
if (preg_match('/^0/', $numbers))
2.如果为零,则删除零并使用变量
添加所需数据$str=ltrim ($numbers, '0');
$mobile ='+63'.$str;
所以输出将是,
+6312345