将特殊字符与变量javascript进行比较
compare special characters with variable javascript
我有一个代码,用于比较我得到的变量是否等于某个值。所以代码是这样的:
if (data[name] == '1222 €'){
ResultField = ResultField + 'Beschrijving van de maningsprocedure: : rekeningoverzichten ' + '<br>';
}
问题是,我得到的是,例如'1222 €'. '1222 €' == '1222 €'
是false,所以它不会进入if内部
if (data[name] == '1222 €'){
ResultField = ResultField + 'Beschrijving van de maningsprocedure: : rekeningoverzichten ' + '<br>';
}
由于特殊的字符,代码甚至没有开始执行。那么我该如何使'1222 €' == '1222 €'
成为真呢?
这是我正在使用的所有代码:
$(function() {
setTimeout(function() {
DINK.utils.input.formula.add({
path : 'IbanDrive/Newcollection/eurosymbol',
types : {
'IbanDrive/Newcollection/eurosymbol/FrequentieVanDeManingsprocedure' : 'text',
'IbanDrive/Newcollection/eurosymbol/tijdstipVdagen' : 'text',
'IbanDrive/Newcollection/eurosymbol/tijdstipVdagen2' : 'text',
'IbanDrive/Newcollection/eurosymbol/tijdstipVdagen3' : 'text',
'IbanDrive/Newcollection/eurosymbol/HeeftUDeLaatsteDrieJaarDebiteurenverliezenGeleden' : 'array',
'IbanDrive/Newcollection/eurosymbol/empty' : 'text',
'IbanDrive/Newcollection/eurosymbol/empty2' : 'text',
'IbanDrive/Newcollection/eurosymbol/empty3' : 'text',
'IbanDrive/Newcollection/eurosymbol/debiteuren' : 'text',
'IbanDrive/Newcollection/eurosymbol/debiteuren2' : 'text',
'IbanDrive/Newcollection/eurosymbol/debiteuren3' : 'text',
'IbanDrive/Newcollection/eurosymbol/BeschrijvingVanDeManingsprocedure' : 'text',
'IbanDrive/Newcollection/eurosymbol/ZoJaVoorWelkBedragAantalDebiteuren' : 'array',
'IbanDrive/Newcollection/eurosymbol/testDim' : 'text'
},
names : {
'IbanDrive/Newcollection/eurosymbol/testDim' : 'testDim'
},
change : {
},
anyChange : function(data) {
var FrequentieVanDeManingsprocedure = 'IbanDrive/Newcollection/eurosymbol/FrequentieVanDeManingsprocedure';
var tijdstipVdagen = 'IbanDrive/Newcollection/eurosymbol/tijdstipVdagen';
var tijdstipVdagen2 = 'IbanDrive/Newcollection/eurosymbol/tijdstipVdagen2';
var tijdstipVdagen3 = 'IbanDrive/Newcollection/eurosymbol/tijdstipVdagen3';
var HeeftUDeLaatsteDrieJaarDebiteurenverliezenGeleden = 'IbanDrive/Newcollection/eurosymbol/HeeftUDeLaatsteDrieJaarDebiteurenverliezenGeleden';
var empty = 'IbanDrive/Newcollection/eurosymbol/empty';
var empty2 = 'IbanDrive/Newcollection/eurosymbol/empty2';
var empty3 = 'IbanDrive/Newcollection/eurosymbol/empty3';
var debiteuren = 'IbanDrive/Newcollection/eurosymbol/debiteuren';
var debiteuren2 = 'IbanDrive/Newcollection/eurosymbol/debiteuren2';
var debiteuren3 = 'IbanDrive/Newcollection/eurosymbol/debiteuren3';
var BeschrijvingVanDeManingsprocedure = 'IbanDrive/Newcollection/eurosymbol/BeschrijvingVanDeManingsprocedure';
var ZoJaVoorWelkBedragAantalDebiteuren = 'IbanDrive/Newcollection/eurosymbol/ZoJaVoorWelkBedragAantalDebiteuren';
var testDim = 'IbanDrive/Newcollection/eurosymbol/testDim';
console.log('write this');
var dinkResultField = '';
if (data[FrequentieVanDeManingsprocedure] == 'wekelijks'){
dinkResultField = dinkResultField + 'Frequentie van de maningsprocedure:: wekelijks' + '<br>';
}
if (data[FrequentieVanDeManingsprocedure] == '14 daags'){
dinkResultField = dinkResultField + 'Frequentie van de maningsprocedure:: 14 daags' + '<br>';
}
if (data[FrequentieVanDeManingsprocedure] == 'maandelijks'){
dinkResultField = dinkResultField + 'Frequentie van de maningsprocedure:: maandelijks' + '<br>';
}
if (data[HeeftUDeLaatsteDrieJaarDebiteurenverliezenGeleden] != undefined){
if (data[HeeftUDeLaatsteDrieJaarDebiteurenverliezenGeleden].length != 0){
dinkResultField = dinkResultField + 'Heeft u de laatste drie jaar debiteurenverliezen geleden ? : ';
for (i = 0; i < data[HeeftUDeLaatsteDrieJaarDebiteurenverliezenGeleden].length; i++) {
if (data[HeeftUDeLaatsteDrieJaarDebiteurenverliezenGeleden][i] == 'ja '){
dinkResultField = dinkResultField + 'ja ';
}
if (data[HeeftUDeLaatsteDrieJaarDebiteurenverliezenGeleden][i] == 'nee'){
dinkResultField = dinkResultField + 'nee ';
}
}
dinkResultField = dinkResultField + '<br>';
}
}
if (data[ZoJaVoorWelkBedragAantalDebiteuren] != undefined){
if (data[ZoJaVoorWelkBedragAantalDebiteuren].length != 0){
dinkResultField = dinkResultField + 'Zo ja, voor welk bedrag + aantal debiteuren : ';
for (i = 0; i < data[ZoJaVoorWelkBedragAantalDebiteuren].length; i++) {
if (data[ZoJaVoorWelkBedragAantalDebiteuren][i] == 'jaar – 1€'){
dinkResultField = dinkResultField + 'jaar – 1 ';
}
if (data[ZoJaVoorWelkBedragAantalDebiteuren][i] == 'jaar – 2'){
dinkResultField = dinkResultField + 'jaar – 2 ';
}
if (data[ZoJaVoorWelkBedragAantalDebiteuren][i] == 'jaar – 3'){
dinkResultField = dinkResultField + 'jaar – 3 ';
}
}
dinkResultField = dinkResultField + '<br>';
}
}
if (data[BeschrijvingVanDeManingsprocedure] == 'rekeningoverzichten '){
dinkResultField = dinkResultField + 'Beschrijving van de maningsprocedure: : rekeningoverzichten ' + '<br>';
}
if (data[BeschrijvingVanDeManingsprocedure] == 'telefonische maningen '){
dinkResultField = dinkResultField + 'Beschrijving van de maningsprocedure: : telefonische maningen ' + '<br>';
}
if (data[BeschrijvingVanDeManingsprocedure] == 'ingebrekestelling '){
dinkResultField = dinkResultField + 'Beschrijving van de maningsprocedure: : ingebrekestelling ' + '<br>';
}
data[testDim] = dinkResultField;
},
beforeSubmit : function(event, data, params) {
var FrequentieVanDeManingsprocedure = 'IbanDrive/Newcollection/eurosymbol/FrequentieVanDeManingsprocedure';
var tijdstipVdagen = 'IbanDrive/Newcollection/eurosymbol/tijdstipVdagen';
var tijdstipVdagen2 = 'IbanDrive/Newcollection/eurosymbol/tijdstipVdagen2';
var tijdstipVdagen3 = 'IbanDrive/Newcollection/eurosymbol/tijdstipVdagen3';
var HeeftUDeLaatsteDrieJaarDebiteurenverliezenGeleden = 'IbanDrive/Newcollection/eurosymbol/HeeftUDeLaatsteDrieJaarDebiteurenverliezenGeleden';
var empty = 'IbanDrive/Newcollection/eurosymbol/empty';
var empty2 = 'IbanDrive/Newcollection/eurosymbol/empty2';
var empty3 = 'IbanDrive/Newcollection/eurosymbol/empty3';
var debiteuren = 'IbanDrive/Newcollection/eurosymbol/debiteuren';
var debiteuren2 = 'IbanDrive/Newcollection/eurosymbol/debiteuren2';
var debiteuren3 = 'IbanDrive/Newcollection/eurosymbol/debiteuren3';
var BeschrijvingVanDeManingsprocedure = 'IbanDrive/Newcollection/eurosymbol/BeschrijvingVanDeManingsprocedure';
var ZoJaVoorWelkBedragAantalDebiteuren = 'IbanDrive/Newcollection/eurosymbol/ZoJaVoorWelkBedragAantalDebiteuren';
var testDim = 'IbanDrive/Newcollection/eurosymbol/testDim';
}
});
}, 1300);
});
您需要使用DOM使浏览器呈现HTML,然后提取生成的纯文本。要做到这一点,您可以使用从文本JavaScript中剥离HTML中解释的技术。基本上,您将HTML字符串注入一个假节点,并从元素的HTML中调用textContent或innerText
(旧的Internet Explorer)。
不过,要注意空格、重音、大小写等方面的差异。
我不会说你的语言(荷兰语?),但你显然自己在生成HTML:
dinkResultField = dinkResultField + 'Frequentie van de maningsprocedure:: wekelijks' + '<br>';
您的代码基本上构建了一个长HTML字符串。最有可能的是,您正试图在稍后阶段对其进行解析。只需以方便的格式存储数据。代替:
var amount = "Total: 1234 €";
这样做:
var display = "Total: 1234 €";
var amount = 1234;
像€
这样的符号是字符的HTML转义,不应该在JavaScript中工作。使用字符本身,如data[name] == '1222 €'
中所示,并确保已正确声明JavaScript文件的字符编码。实现这一点的一个简单方法是使用编辑器编写文件,该编辑器允许您将文件保存为UTF-8格式和BOM(因为BOM,字节顺序标记,用作字符编码的指示)。
如果由于某种奇怪的原因无法实现,请使用JavaScript转义,例如在中
data[name] == '1222 'u20AC'
相关文章:
- 无法比较javascript变量
- 比较javascript中的浮动并更改最高浮动的颜色
- 比较Javascript中的两个字符串时出错
- 比较javascript数组中的数值
- 比较 JavaScript 中的值
- 如何比较 JavaScript 格式为 2011-jan-21 的两个日期
- 是否有必要使用 === 来比较 Javascript 中的字符串,或者 == 就足够了
- 使用Jquery比较Javascript中的两个列表/表
- 比较javascript中的两个数组
- 如何在单元测试中比较JavaScript对象
- 比较javascript/jquery中的两个字符串
- 比较Javascript中的两个数组
- 比较javascript中的数组时出错
- 比较javascript中的函数指针
- 无法比较 javascript 数组中的两个值
- 如何仅针对某些属性比较 JavaScript 中的对象
- 循环并比较JavaScript对象
- 比较 JavaScript 中的变量
- 比较Javascript/Jquery中的确切结果
- 比较 JavaScript 日期对象